package com.aegiswallet.tasks; import android.content.SharedPreferences; import android.os.AsyncTask; import android.util.Log; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.wearable.MessageApi; import com.google.android.gms.wearable.Node; import com.google.android.gms.wearable.NodeApi; import com.google.android.gms.wearable.Wearable; import java.util.HashSet; /** * Created by HyperCorp on 8/26/14. */ public class SendMessageTask extends AsyncTask<String, Void, String> { private String TAG = "SendMessageTask"; private GoogleApiClient mGoogleApiClient; private MessageApi.SendMessageResult result; private String type; private String data; private SharedPreferences prefs; public SendMessageTask(GoogleApiClient mGoogleApiClient, String type, String data, SharedPreferences prefs ){ this.mGoogleApiClient = mGoogleApiClient; this.type = type; this.data = data; this.prefs = prefs; } @Override protected String doInBackground(String... params) { sendMessageToNodes(); /* String node = getFirstNode(); if(node != null) { result = Wearable.MessageApi.sendMessage( mGoogleApiClient, node, type, data.getBytes()).await(); } */ return null; } private String getFirstNode(){ HashSet<String> results= new HashSet<String>(); NodeApi.GetConnectedNodesResult nodes = Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).await(); for (Node node : nodes.getNodes()) { return node.getId(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); if (result != null && !result.getStatus().isSuccess()) { Log.e(TAG, "ERROR: failed to send Message: " + result.getStatus()); } else if(result != null && result.getStatus().isSuccess()){ Log.d(TAG, "Message sent!"); } else { Log.d(TAG, "Message not sent....result is null"); } } private String sendMessageToNodes(){ HashSet<String> results= new HashSet<String>(); NodeApi.GetConnectedNodesResult nodes = Wearable.NodeApi.getConnectedNodes(mGoogleApiClient).await(); for (Node node : nodes.getNodes()) { Log.d(TAG, "Sending message to... " + node.getId()); sendMessageToNode(node.getId()); } return null; } private void sendMessageToNode(String node){ if(node != null && data != null) { MessageApi.SendMessageResult result = Wearable.MessageApi.sendMessage( mGoogleApiClient, node, type, data.getBytes()).await(); if(result.getStatus().isSuccess()){ Log.d(TAG, "message is successful"); } else{ Log.d(TAG, "message NOT successful"); } } } }