|
|
@@ -4,30 +4,65 @@ import android.content.BroadcastReceiver;
|
|
|
import android.content.Context;
|
|
|
import android.content.Intent;
|
|
|
import android.net.ConnectivityManager;
|
|
|
+import android.net.NetworkInfo;
|
|
|
import android.util.Log;
|
|
|
|
|
|
-import com.example.david.libretasker.Events.NetworkManager;
|
|
|
+import com.example.david.libretasker.Actions.Actions;
|
|
|
+import com.example.david.libretasker.Actions.ToastAction;
|
|
|
+import com.example.david.libretasker.Events.NetworkEvent;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collection;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* Created by david on 01/01/17.
|
|
|
*/
|
|
|
|
|
|
public class EventReceiver extends BroadcastReceiver {
|
|
|
- NetworkManager nm = new NetworkManager();
|
|
|
- String TAG =" EventReceiver";
|
|
|
+ String TAG = " EventReceiver";
|
|
|
@Override
|
|
|
public void onReceive(Context context, Intent intent) {
|
|
|
switch (intent.getAction()) {
|
|
|
case ConnectivityManager.CONNECTIVITY_ACTION:
|
|
|
- HashMap hm = new HashMap<String, Object>();
|
|
|
- ArrayList ssids = new ArrayList<String>();
|
|
|
- ssids.add("Cueva");
|
|
|
+ NetworkEvent ne = new NetworkEvent();
|
|
|
+
|
|
|
+ HashMap<String, Object> hm = new HashMap();
|
|
|
+ hm.put("SSIDs", Arrays.asList("Cueva", "Cueva2"));
|
|
|
+ hm.put("type", ConnectivityManager.TYPE_WIFI);
|
|
|
+ hm.put("state", NetworkInfo.State.CONNECTED);
|
|
|
+ hm.put("trigger_type", "Toast");
|
|
|
+ hm.put("trigger_value", "Connected to cuevita");
|
|
|
+
|
|
|
+ HashMap<String, Object> hm2 = new HashMap(hm);
|
|
|
+ hm2.put("SSIDs", Arrays.asList("Banana"));
|
|
|
+ hm2.put("trigger_value", "Connected to banana");
|
|
|
+
|
|
|
+ HashMap<String, Object> hm3 = new HashMap(hm);
|
|
|
+ hm3.remove("SSIDs");
|
|
|
+ hm3.put("type", ConnectivityManager.TYPE_MOBILE);
|
|
|
+ hm3.put("trigger_type", "Bread");
|
|
|
+ hm3.put("trigger_value", "Connected to mobile");
|
|
|
+
|
|
|
+ //ne.trigger(context, hm);
|
|
|
+
|
|
|
+ ArrayList<HashMap<String, Object>> nes = new ArrayList<HashMap<String, Object>>();
|
|
|
+ nes.add(hm);
|
|
|
+ nes.add(hm2);
|
|
|
+ nes.add(hm3);
|
|
|
+
|
|
|
+ for(HashMap<String, Object> el: nes ){
|
|
|
+ if ( ne.trigger(context, el) ) {
|
|
|
+ Log.d(TAG, "OK");
|
|
|
+ Actions.Action(context, (String)el.get("trigger_type"), el.get("trigger_value"));
|
|
|
+ } else {
|
|
|
+ Log.d(TAG, "NOT OK");
|
|
|
+ //NO Action
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- hm.put("SSIDs", ssids);
|
|
|
- nm.trigger(context, hm);
|
|
|
break;
|
|
|
default:
|
|
|
Log.d(TAG, intent.getAction());
|