// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/BusProvider.java
// public class BusProvider {
//     private static Bus bus;
// 
//     public static Bus getProvider() {
//         if (bus == null) {
//             bus = new Bus();
//         }
//         return bus;
//     }
// }
// 
// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/InsideGeofenceEvent.java
// public class InsideGeofenceEvent {
//     int[] geofenceIdList;
// 
//     public InsideGeofenceEvent() {
//     }
// 
//     public InsideGeofenceEvent(int[] geofenceIdList) {
//         this.geofenceIdList = geofenceIdList;
//     }
// 
//     public int[] getGeofenceIdList() {
//         return geofenceIdList;
//     }
// 
//     public void setGeofenceIdList(int[] geofenceIdList) {
//         this.geofenceIdList = geofenceIdList;
//     }
// }
// 
// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/LocationUnavailableEvent.java
// public class LocationUnavailableEvent {
// 
// }
// 
// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/OutsideGeofenceEvent.java
// public class OutsideGeofenceEvent {
//     int[] geofenceIdList;
// 
//     public OutsideGeofenceEvent() {
//     }
// 
//     public OutsideGeofenceEvent(int[] geofenceIdList) {
//         this.geofenceIdList = geofenceIdList;
//     }
// 
//     public int[] getGeofenceIdList() {
//         return geofenceIdList;
//     }
// 
//     public void setGeofenceIdList(int[] geofenceIdList) {
//         this.geofenceIdList = geofenceIdList;
//     }
// }


import android.app.enterprise.geofencing.Geofence;
import android.app.enterprise.geofencing.Geofencing;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.akexorcist.knoxgeofencingapp.bus.BusProvider;
import com.akexorcist.knoxgeofencingapp.bus.event.InsideGeofenceEvent;
import com.akexorcist.knoxgeofencingapp.bus.event.LocationUnavailableEvent;
import com.akexorcist.knoxgeofencingapp.bus.event.OutsideGeofenceEvent;
package com.akexorcist.knoxgeofencingapp;



/**
 * Created by Akexorcist on 5/10/16 AD.
 */

public class GeofencingReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equalsIgnoreCase(Geofencing.ACTION_DEVICE_INSIDE_GEOFENCE)) {
            int[] geofenceIdList = intent.getIntArrayExtra(Geofencing.INTENT_EXTRA_ID);
// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/BusProvider.java
// public class BusProvider {
//     private static Bus bus;
// 
//     public static Bus getProvider() {
//         if (bus == null) {
//             bus = new Bus();
//         }
//         return bus;
//     }
// }
// 
// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/InsideGeofenceEvent.java
// public class InsideGeofenceEvent {
//     int[] geofenceIdList;
// 
//     public InsideGeofenceEvent() {
//     }
// 
//     public InsideGeofenceEvent(int[] geofenceIdList) {
//         this.geofenceIdList = geofenceIdList;
//     }
// 
//     public int[] getGeofenceIdList() {
//         return geofenceIdList;
//     }
// 
//     public void setGeofenceIdList(int[] geofenceIdList) {
//         this.geofenceIdList = geofenceIdList;
//     }
// }
// 
// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/LocationUnavailableEvent.java
// public class LocationUnavailableEvent {
// 
// }
// 
// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/bus/event/OutsideGeofenceEvent.java
// public class OutsideGeofenceEvent {
//     int[] geofenceIdList;
// 
//     public OutsideGeofenceEvent() {
//     }
// 
//     public OutsideGeofenceEvent(int[] geofenceIdList) {
//         this.geofenceIdList = geofenceIdList;
//     }
// 
//     public int[] getGeofenceIdList() {
//         return geofenceIdList;
//     }
// 
//     public void setGeofenceIdList(int[] geofenceIdList) {
//         this.geofenceIdList = geofenceIdList;
//     }
// }


// Path: KNOXGeofencingApp/app/src/main/java/com/akexorcist/knoxgeofencingapp/GeofencingReceiver.java
import android.app.enterprise.geofencing.Geofence;
import android.app.enterprise.geofencing.Geofencing;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.akexorcist.knoxgeofencingapp.bus.BusProvider;
import com.akexorcist.knoxgeofencingapp.bus.event.InsideGeofenceEvent;
import com.akexorcist.knoxgeofencingapp.bus.event.LocationUnavailableEvent;
import com.akexorcist.knoxgeofencingapp.bus.event.OutsideGeofenceEvent;

package com.akexorcist.knoxgeofencingapp;



/**
 * Created by Akexorcist on 5/10/16 AD.
 */

public class GeofencingReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equalsIgnoreCase(Geofencing.ACTION_DEVICE_INSIDE_GEOFENCE)) {
            int[] geofenceIdList = intent.getIntArrayExtra(Geofencing.INTENT_EXTRA_ID);
            BusProvider.getProvider().post(new InsideGeofenceEvent(geofenceIdList));