package com.twistedequations.crossbow_wear_test;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
import com.android.volley.NoConnectionError;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.crossbow.volley.CrossbowImage;
import com.crossbow.wear.CrossbowWear;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.ResultCallback;
import com.google.android.gms.wearable.CapabilityApi;
import com.google.android.gms.wearable.Node;
import com.google.android.gms.wearable.Wearable;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class ActivityMain extends Activity {
@Bind(R.id.background)
ImageView imageView;
GoogleApiClient googleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
@OnClick(R.id.send_request)
public void onClick(View view) {
Intent intent = new Intent(this, ActivityDetails.class);
startActivity(intent);
}
@OnClick(R.id.image_request)
public void imageRequest(View view) {
CrossbowWear.get(this)
.loadImage()
.centerCrop()
.source("http://i.imgur.com/ByktT4N.jpg")
.fade(200)
.listen(new CrossbowImage.Listener() {
@Override
public void onLoad(boolean success, boolean fromCache, Bitmap bitmap, ImageView imageView) {
Log.d("ActivityMain", "onLoad() returned " + success);
}
}).into(imageView)
.load();
}
@OnClick(R.id.send_message)
public void sendMessage(View view) {
googleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
getBestNode(2500);
}
@Override
public void onConnectionSuspended(int i) {
}
})
.addApi(Wearable.API).build();
googleApiClient.connect();
}
private void sendMessage(String nodeID) {
Wearable.MessageApi.sendMessage(googleApiClient, nodeID, "/test_messsage_path", null);
}
private void getBestNode(long timeOut){
final String nodeCompatibilty = getString(com.crossbow.wear.R.string.crossbow_compatibility);
Wearable.CapabilityApi.getCapability(googleApiClient, nodeCompatibilty, CapabilityApi.FILTER_REACHABLE).setResultCallback(
new ResultCallback<CapabilityApi.GetCapabilityResult>() {
@Override
public void onResult(CapabilityApi.GetCapabilityResult nodes) {
String nodeID = null;
Set<Node> nodeList = nodes.getCapability().getNodes();
//get the nearest node
for(Node node : nodeList) {
if(node.isNearby()) {
nodeID = node.getId();
break;
}
nodeID = node.getId();
}
sendMessage(nodeID);
}
}
);
}
}