package wearable.android.zaim.net.services; import android.app.IntentService; import android.content.Context; import android.content.Intent; import android.util.Log; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.wearable.Wearable; import java.util.concurrent.TimeUnit; import wearable.android.zaim.net.common.utils.Base64Utils; public class SendLoginStatusService extends IntentService { private static final String TAG = SendLoginStatusService.class.getSimpleName(); private static final String KEY_LOGIN = "login"; private static final String REQUEST_PATH = "/login/request"; private static final String RESET_PATH = "/login/reset"; private static final int CONNECT_TIMEOUT_MS = 100; public SendLoginStatusService() { super(TAG); } public static Intent createIntent(Context context, boolean login) { Intent intent = new Intent(context, SendLoginStatusService.class); intent.putExtra(KEY_LOGIN, String.valueOf(login)); return intent; } @Override public void onHandleIntent(Intent intent) { GoogleApiClient googleApiClient = new GoogleApiClient.Builder(this) .addApi(Wearable.API) .build(); ConnectionResult result = googleApiClient.blockingConnect(CONNECT_TIMEOUT_MS, TimeUnit.MILLISECONDS); if (!result.isSuccess()) { Log.e(TAG, "Failed to connect to GoogleApiClient."); return; } String login = intent.getStringExtra(KEY_LOGIN); Wearable.MessageApi.sendMessage(googleApiClient, REQUEST_PATH, RESET_PATH, Base64Utils.encode(login)); } }