public static void sendWearToast(String msg, int length) { if ((googleApiClient != null) && (googleApiClient.isConnected())) { PutDataMapRequest dataMapRequest = PutDataMapRequest.create(WEARABLE_TOAST_NOTIFICATON); dataMapRequest.setUrgent(); dataMapRequest.getDataMap().putDouble("timestamp", System.currentTimeMillis()); dataMapRequest.getDataMap().putInt("length", length); dataMapRequest.getDataMap().putString("msg", msg); PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest(); Wearable.DataApi.putDataItem(googleApiClient, putDataRequest); } else { Log.e(TAG, "No connection to wearable available for toast! " + msg); } }
private void doPutDataMap(String path, DataMap dataMap, ResultCallback<DataApi.DataItemResult> callback) { PutDataMapRequest putDataMapRequest = PutDataMapRequest.create(path); if (dataMap != null) { putDataMapRequest.getDataMap().putAll(dataMap); } PutDataRequest request = putDataMapRequest.asPutDataRequest(); PendingResult<DataApi.DataItemResult> pendingResult = Wearable.DataApi.putDataItem(mGoogleApiClient, request); if (callback != null) { pendingResult.setResultCallback(callback); } }
public static boolean sendData(GoogleApiClient client, String command, String key, String data, ResultCallback<DataApi.DataItemResult> listener) { PutDataMapRequest putDataMapReq = PutDataMapRequest.create(command); putDataMapReq.getDataMap().putString(key, data); return sendData(client, putDataMapReq, listener); }
@Override public void onHandleIntent(Intent intent) { mGoogleApiClient.blockingConnect(CONNECT_TIMEOUT_MS, TimeUnit.MILLISECONDS); Uri dataItemUri = intent.getData(); if (!mGoogleApiClient.isConnected()) { Log.e(TAG, "Failed to update data item " + dataItemUri + " because client is disconnected from Google Play Services"); return; } DataApi.DataItemResult dataItemResult = Wearable.DataApi.getDataItem( mGoogleApiClient, dataItemUri).await(); PutDataMapRequest putDataMapRequest = PutDataMapRequest .createFromDataMapItem(DataMapItem.fromDataItem(dataItemResult.getDataItem())); DataMap dataMap = putDataMapRequest.getDataMap(); dataMap.putBoolean(QUESTION_WAS_DELETED, true); PutDataRequest request = putDataMapRequest.asPutDataRequest(); request.setUrgent(); Wearable.DataApi.putDataItem(mGoogleApiClient, request).await(); mGoogleApiClient.disconnect(); }
@Override protected PutDataMapRequest doInBackground(Void... voids) { PutDataMapRequest putDataMapRequest = PutDataMapRequest.create(Constantes.CAMINHO_DADOS); mUriDados = putDataMapRequest.getUri(); DataMap map = putDataMapRequest.getDataMap(); map.putInt(Constantes.EXTRA_POSICAO_ATUAL, position); map.putInt(Constantes.EXTRA_TOTAL_IMAGENS, Constantes.TOTAL_IMAGENS); Bitmap miniatura = ImagemUtil.imagem( mContext, "foto" + (position + 1) + ".jpg", 160, 160); if (miniatura != null) { final ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); miniatura.compress(Bitmap.CompressFormat.JPEG, 80, byteStream); Asset asset = Asset.createFromBytes(byteStream.toByteArray()); map.putAsset(Constantes.EXTRA_IMAGEM, asset); } return putDataMapRequest; } @Override
/** * Sends error to wearable. */ private void sendError(String message) { DebugLog.e(message); PutDataMapRequest data = PutDataMapRequest.createWithAutoAppendedId("/error"); data.getDataMap().putString("error_message", message); syncDataItem(data); }
private static boolean sendData(GoogleApiClient client, PutDataMapRequest putDataMapReq, ResultCallback<DataApi.DataItemResult> listener) { if (client.isConnected()) { Log.i(TAG, "update settings"); putDataMapReq.setUrgent(); PutDataRequest putDataReq = putDataMapReq.asPutDataRequest(); PendingResult<DataApi.DataItemResult> pR = Wearable.DataApi.putDataItem(client, putDataReq); if (listener != null) pR.setResultCallback(listener); return true; } return false; }
@Override protected void onPostExecute(PutDataMapRequest dataMapRequest) { super.onPostExecute(dataMapRequest); Wearable.DataApi.putDataItem( mGoogleApiClient, dataMapRequest.asPutDataRequest()); } }.execute();
private void notifyWear(String newBgColor) { PutDataMapRequest dataMapRequest = PutDataMapRequest.create("/bg_change"); dataMapRequest.getDataMap().putString("new_color", newBgColor); PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest(); Wearable.DataApi.putDataItem(mGoogleApiClient, putDataRequest) .setResultCallback(new ResultCallback<DataApi.DataItemResult>() { @Override public void onResult(@NonNull DataApi.DataItemResult dataItemResult) { //check if the message is delivered? //If the status is failed, that means that the currently device is //not connected. The data will get deliver when phone gets connected to the watch. Log.d("Data saving", dataItemResult.getStatus().isSuccess() ? "Success" : "Failed"); } }); }
@Override protected void onHandleIntent(Intent intent) { mGoogleApiClient.blockingConnect(TIME_OUT_MS, TimeUnit.MILLISECONDS); Uri dataItemUri = intent.getData(); if (!mGoogleApiClient.isConnected()) { Log.e(TAG, "Failed to update data item " + dataItemUri + " because client is disconnected from Google Play Services"); return; } DataApi.DataItemResult dataItemResult = Wearable.DataApi.getDataItem( mGoogleApiClient, dataItemUri).await(); PutDataMapRequest putDataMapRequest = PutDataMapRequest .createFromDataMapItem(DataMapItem.fromDataItem(dataItemResult.getDataItem())); DataMap dataMap = putDataMapRequest.getDataMap(); // Update quiz status variables, which will be reflected on the phone. int questionIndex = intent.getIntExtra(EXTRA_QUESTION_INDEX, -1); boolean chosenAnswerCorrect = intent.getBooleanExtra(EXTRA_QUESTION_CORRECT, false); dataMap.putInt(QUESTION_INDEX, questionIndex); dataMap.putBoolean(CHOSEN_ANSWER_CORRECT, chosenAnswerCorrect); dataMap.putBoolean(QUESTION_WAS_ANSWERED, true); PutDataRequest request = putDataMapRequest.asPutDataRequest(); request.setUrgent(); Wearable.DataApi.putDataItem(mGoogleApiClient, request).await(); // Remove this question notification. ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)).cancel(questionIndex); mGoogleApiClient.disconnect(); }
public static boolean sendData(GoogleApiClient client, String command, HashMap<String, String> pairs, ResultCallback<DataApi.DataItemResult> listener) { PutDataMapRequest putDataMapReq = PutDataMapRequest.create(command); for (String key : pairs.keySet()) { putDataMapReq.getDataMap().putString(key, pairs.get(key)); } return sendData(client, putDataMapReq, listener); }
sendError(getResources().getString(R.string.error_zero_cities)); } else { PutDataMapRequest data = PutDataMapRequest.createWithAutoAppendedId("/cities"); data.getDataMap().putDataMapArrayList("cities", dataCities); syncDataItem(data);
public static void sendWearLocalToast(String msg, int length) { if ((googleApiClient != null) && (googleApiClient.isConnected())) { PutDataMapRequest dataMapRequest = PutDataMapRequest.create(WEARABLE_TOAST_LOCAL_NOTIFICATON); dataMapRequest.setUrgent(); dataMapRequest.getDataMap().putDouble("timestamp", System.currentTimeMillis()); dataMapRequest.getDataMap().putInt("length", length); dataMapRequest.getDataMap().putString("msg", msg); PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest(); Wearable.DataApi.putDataItem(googleApiClient, putDataRequest); } else { Log.e(TAG, "No connection to wearable available for toast! " + msg); } }
private void sendRequestExtra(String path, String key, boolean value) { forceGoogleApiConnect(); if (googleApiClient.isConnected()) { PutDataMapRequest dataMapRequest = PutDataMapRequest.create(path);//NEW_STATUS_PATH //unique content dataMapRequest.getDataMap().putDouble("timestamp", System.currentTimeMillis()); dataMapRequest.getDataMap().putBoolean(key, value);//"externalStatusString" PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest(); Wearable.DataApi.putDataItem(googleApiClient, putDataRequest); } else { Log.e("sendRequestExtra", "No connection to wearable available!"); } }
@Override public void onResult(DataApi.DataItemResult dataItemResult) { if (dataItemResult.getStatus().isSuccess()) { PutDataMapRequest request = PutDataMapRequest.createFromDataMapItem( DataMapItem.fromDataItem(dataItemResult.getDataItem())); DataMap dataMap = request.getDataMap(); dataMap.putBoolean(QUESTION_WAS_ANSWERED, false); dataMap.putBoolean(QUESTION_WAS_DELETED, false); if (!mHasQuestionBeenAsked && dataMap.getInt(QUESTION_INDEX) == 0) { // Ask the first question now. PutDataRequest putDataRequest = request.asPutDataRequest(); // Set to high priority in case it isn't already. putDataRequest.setUrgent(); Wearable.DataApi.putDataItem(mGoogleApiClient, putDataRequest); setHasQuestionBeenAsked(true); } else { // Enqueue future questions. mFutureQuestions.add(new Question(dataMap.getString(QUESTION), dataMap.getInt(QUESTION_INDEX), dataMap.getStringArray(ANSWERS), dataMap.getInt(CORRECT_ANSWER_INDEX))); } } else { Log.e(TAG, "Failed to reset data item " + dataItemResult.getDataItem().getUri()); } } }
private void syncTicketsToWear(String path) { Uri uri = Uri.parse(path); final ArrayList<DataMap> dataCities = new ArrayList<DataMap>(); String cityName = uri.getLastPathSegment(); List<City> cities = CityManager.get(getApplicationContext()).getTicketsInCity(cityName, getApplicationContext()); for (final City city : cities) { final DataMap dataMap = new DataMap(); dataMap.putLong("id", city.id); dataMap.putString("city", city.city); dataMap.putString("country", city.country); dataMap.putInt("validity", city.validity); dataMap.putString("price", city.price); dataMap.putString("currency", city.currency); dataMap.putString("price_note", city.priceNote); dataMap.putString("note", city.note); dataCities.add(dataMap); } PutDataMapRequest data = PutDataMapRequest.createWithAutoAppendedId("/tickets"); data.getDataMap().putDataMapArrayList("tickets", dataCities); syncDataItem(data); }
public static void sendWearToast(String msg, int length) { if ((googleApiClient != null) && (googleApiClient.isConnected())) { PutDataMapRequest dataMapRequest = PutDataMapRequest.create(WEARABLE_TOAST_NOTIFICATON); dataMapRequest.setUrgent(); dataMapRequest.getDataMap().putDouble("timestamp", System.currentTimeMillis()); dataMapRequest.getDataMap().putInt("length", length); dataMapRequest.getDataMap().putString("msg", msg); PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest(); Wearable.DataApi.putDataItem(googleApiClient, putDataRequest); } else { Log.e(TAG, "No connection to wearable available for toast! " + msg); } }
private void sendRequestExtra(String path, String key, String value) { forceGoogleApiConnect(); if (googleApiClient.isConnected()) { PutDataMapRequest dataMapRequest = PutDataMapRequest.create(path);//NEW_STATUS_PATH //unique content dataMapRequest.getDataMap().putDouble("timestamp", System.currentTimeMillis()); dataMapRequest.getDataMap().putString(key, value);//"externalStatusString" PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest(); Wearable.DataApi.putDataItem(googleApiClient, putDataRequest); } else { Log.e("sendRequestExtra", "No connection to wearable available!"); } }
private void sendSmsNotification(Ticket t, int status) { DebugLog.d("Send ticket to wear" + t.toString()); final DataMap dataMap = new DataMap(); dataMap.putLong("id", t.getId()); dataMap.putLong("city_id", t.getCityId()); dataMap.putString("city", t.getCity()); dataMap.putInt("status", status); dataMap.putString("hash", t.getHash()); dataMap.putString("text", t.getText()); dataMap.putLong("valid_from", t.getValidFrom().toMillis(true)); dataMap.putLong("valid_to", t.getValidTo().toMillis(true)); dataMap.putLong("notification_id", t.getNotificationId()); PutDataMapRequest data = PutDataMapRequest.createWithAutoAppendedId("/notification"); data.getDataMap().putDataMap("notification", dataMap); syncDataItem(data); }
public static void sendWearLocalToast(String msg, int length) { if ((googleApiClient != null) && (googleApiClient.isConnected())) { PutDataMapRequest dataMapRequest = PutDataMapRequest.create(WEARABLE_TOAST_LOCAL_NOTIFICATON); dataMapRequest.setUrgent(); dataMapRequest.getDataMap().putDouble("timestamp", System.currentTimeMillis()); dataMapRequest.getDataMap().putInt("length", length); dataMapRequest.getDataMap().putString("msg", msg); PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest(); Wearable.DataApi.putDataItem(googleApiClient, putDataRequest); } else { Log.e(TAG, "No connection to wearable available for toast! " + msg); } }