package com.tutosandroidfrance.wearsample; import com.github.florent37.EmmetWearableListenerService; import com.github.florent37.davinci.daemon.DaVinciDaemon; import com.google.android.gms.wearable.MessageEvent; import com.tutosandroidfrance.wearprotocol.AndroidVersion; import com.tutosandroidfrance.wearprotocol.SmartphoneProtocol; import com.tutosandroidfrance.wearprotocol.WearProtocol; import java.util.List; import retrofit.Callback; import retrofit.RestAdapter; import retrofit.RetrofitError; import retrofit.client.Response; public class WearService extends EmmetWearableListenerService implements SmartphoneProtocol { WearProtocol wearProtocol; @Override public void onCreate() { super.onCreate(); //initialise la récéption de données getEmmet().registerReceiver(SmartphoneProtocol.class, this); //initialise l'envoie de données vers la montre wearProtocol = getEmmet().createSender(WearProtocol.class); } //lorsque la montre envoie le messae hello a smartphone @Override public void hello() { //Utilise Retrofit pour réaliser un appel REST AndroidService androidService = new RestAdapter.Builder() .setEndpoint(AndroidService.ENDPOINT) .build().create(AndroidService.class); //Récupère et deserialise le contenu de mon fichier JSON en objet List<AndroidVersion> androidService.getElements(new Callback<List<AndroidVersion>>() { @Override public void success(List<AndroidVersion> androidVersions, Response response) { //envoie cette liste à la montre wearProtocol.onAndroidVersionsReceived(androidVersions); } @Override public void failure(RetrofitError error) { } }); } @Override public void onMessageReceived(MessageEvent messageEvent) { super.onMessageReceived(messageEvent); //permet à DaVinciDaemon d'écouter les messages@ DaVinciDaemon.with(getApplicationContext()).handleMessage(messageEvent); } }