@Override public void onResult(DataItemBuffer dataItems) { if (dataItems.getCount() != 0) { DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItems.get(0)); // IMAGE int value = dataMapItem.getDataMap().getInt(SunsetsWatchFaceUtil.KEY_BACKGROUND_COLOR); updateUiForKey(SunsetsWatchFaceUtil.KEY_BACKGROUND_COLOR, value); //BATTERY SAVING MODE int value2 = dataMapItem.getDataMap().getInt(SunsetsWatchFaceUtil.KEY_FLUID_MODE); updateUiForKey(SunsetsWatchFaceUtil.KEY_FLUID_MODE, value2); Log.d(TAG, "aggiorno a startup background..."); } dataItems.release(); } });
@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(); }
@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 // DataApi.DataListener public void onDataChanged(DataEventBuffer dataEvents) { for (DataEvent dataEvent : dataEvents) { if (dataEvent.getType() != DataEvent.TYPE_CHANGED) { continue; } DataItem dataItem = dataEvent.getDataItem(); if (!dataItem.getUri().getPath().equals(SunsetsWatchFaceUtil.PATH_WITH_FEATURE)) { continue; } DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem); DataMap config = dataMapItem.getDataMap(); if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "Config DataItem updated:" + config); } updateUiForConfigDataMap(config); } }
@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()); } } }
@Override // DataApi.DataListener public void onDataChanged(DataEventBuffer dataEvents) { for (DataEvent dataEvent : dataEvents) { if (dataEvent.getType() != DataEvent.TYPE_CHANGED) { continue; } DataItem dataItem = dataEvent.getDataItem(); if (!dataItem.getUri().getPath().equals( DigitalWatchFaceUtil.PATH_WITH_FEATURE)) { continue; } DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem); DataMap config = dataMapItem.getDataMap(); if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "Config DataItem updated:" + config); } updateUiForConfigDataMap(config); } }
@Override // DataApi.DataListener public void onDataChanged(DataEventBuffer dataEvents) { for (DataEvent dataEvent : dataEvents) { if (dataEvent.getType() != DataEvent.TYPE_CHANGED) { continue; } DataItem dataItem = dataEvent.getDataItem(); if (!dataItem.getUri().getPath().equals( SunsetsWatchFaceUtil.PATH_WITH_FEATURE)) { continue; } DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem); DataMap config = dataMapItem.getDataMap(); Log.d(TAG, "Config DataItem updated:" + config); updateUiForConfigDataMap(config); } }
private void lerNovosDados(DataEvent event) { DataMap dataMap = DataMapItem.fromDataItem(event.getDataItem()).getDataMap(); int posicaoAtual = dataMap.getInt(Constantes.EXTRA_POSICAO_ATUAL); int total = dataMap.getInt(Constantes.EXTRA_TOTAL_IMAGENS); Asset imagem = dataMap.getAsset(Constantes.EXTRA_IMAGEM); dispararNotificacao(posicaoAtual, total); Intent it = new Intent(Constantes.ACAO_DADOS_ALTERADOS); it.putExtra(Constantes.EXTRA_POSICAO_ATUAL, posicaoAtual); it.putExtra(Constantes.EXTRA_TOTAL_IMAGENS, total); it.putExtra(Constantes.EXTRA_IMAGEM, imagem); LocalBroadcastManager.getInstance(this).sendBroadcast(it); } private void dispararNotificacao(int posicaoAtual, int total) {
@Override public void onDataChanged(DataEventBuffer dataEvents) {//KS does not seem to get triggered; therefore use OnMessageReceived instead DataMap dataMap; for (DataEvent event : dataEvents) { if (event.getType() == DataEvent.TYPE_CHANGED) { String path = event.getDataItem().getUri().getPath(); switch (path) { case WEARABLE_PREF_DATA_PATH: dataMap = DataMapItem.fromDataItem(event.getDataItem()).getDataMap(); if (dataMap != null) { Log.d(TAG, "onDataChanged WEARABLE_PREF_DATA_PATH dataMap=" + dataMap); syncPrefData(dataMap); } break; default: Log.d(TAG, "Unknown wearable path: " + path); break; } } } }
@Override // ResultCallback<DataApi.DataItemResult> public void onResult(DataApi.DataItemResult dataItemResult) { if (dataItemResult.getStatus().isSuccess() && dataItemResult.getDataItem() != null) { DataItem configDataItem = dataItemResult.getDataItem(); DataMapItem dataMapItem = DataMapItem.fromDataItem(configDataItem); DataMap config = dataMapItem.getDataMap(); Log.d(TAG,"startup setup UI..."); updateUiForConfigDataMap(config); //setUpAllPickers(config); } else { // If DataItem with the current config can't be retrieved, select the default items on // each picker. //setUpAllPickers(null); } }
@Override public void onDataChanged(DataEventBuffer dataEvents) {//KS does not seem to get triggered; therefore use OnMessageReceived instead DataMap dataMap; for (DataEvent event : dataEvents) { if (event.getType() == DataEvent.TYPE_CHANGED) { String path = event.getDataItem().getUri().getPath(); switch (path) { case WEARABLE_PREF_DATA_PATH: dataMap = DataMapItem.fromDataItem(event.getDataItem()).getDataMap(); if (dataMap != null) { Log.d(TAG, "onDataChanged WEARABLE_PREF_DATA_PATH dataMap=" + dataMap); syncPrefData(dataMap); } break; default: Log.d(TAG, "Unknown wearable path: " + path); break; } } } }
@Override public void onResult(DataItemBuffer dataItems) { for (int i = 0; i < dataItems.getCount(); i++) { DataItem dataItem = dataItems.get(i); Uri uri = dataItem.getUri(); if (Constantes.CAMINHO_DADOS.equals(uri.getPath())) { DataMap dataMap = DataMapItem.fromDataItem(dataItem).getDataMap(); int posicaoAtual = dataMap.getInt(Constantes.EXTRA_POSICAO_ATUAL); int total = dataMap.getInt(Constantes.EXTRA_TOTAL_IMAGENS); Asset asset = dataMap.getAsset(Constantes.EXTRA_IMAGEM); atualizarTela(posicaoAtual, total, asset); } } } });
@Override public void onDataChanged(@NonNull DataEventBuffer dataEventBuffer) { Log.d(TAG, "onDataChanged: " + dataEventBuffer); for (DataEvent event : dataEventBuffer) { if (event.getType() == DataEvent.TYPE_CHANGED) { String path = event.getDataItem().getUri().getPath(); if (datapath.equals(path)) { DataMapItem dataMapItem = DataMapItem.fromDataItem(event.getDataItem()); String message = dataMapItem.getDataMap().getString("message"); Log.v(TAG, "Wear activity received message: " + message); // Display message in UI mTextView.setText(message); } else { Log.e(TAG, "Unrecognized path: " + path); } } else if (event.getType() == DataEvent.TYPE_DELETED) { Log.v(TAG, "Data deleted : " + event.getDataItem().toString()); } else { Log.e(TAG, "Unknown data event Type = " + event.getType()); } } }
@Override // ResultCallback<DataApi.DataItemResult> public void onResult(DataApi.DataItemResult dataItemResult) { if (dataItemResult.getStatus().isSuccess() && dataItemResult.getDataItem() != null) { DataItem configDataItem = dataItemResult.getDataItem(); DataMapItem dataMapItem = DataMapItem.fromDataItem(configDataItem); DataMap config = dataMapItem.getDataMap(); setUpAllPickers(config); } else { // If DataItem with the current config can't be retrieved, select the default items on // each picker. setUpAllPickers(null); } }
/** * Receives the data, note since we are using the same data base, we will also receive * data that we sent as well. Likely should add some kind of id number to datamap, so it * can tell between mobile device and wear device. or this maybe the functionality you want. */ @Override public void onDataChanged(@NonNull DataEventBuffer dataEventBuffer) { Log.d(TAG, "onDataChanged: " + dataEventBuffer); for (DataEvent event : dataEventBuffer) { if (event.getType() == DataEvent.TYPE_CHANGED) { String path = event.getDataItem().getUri().getPath(); if (datapath.equals(path)) { DataMapItem dataMapItem = DataMapItem.fromDataItem(event.getDataItem()); String message = dataMapItem.getDataMap().getString("message"); Log.v(TAG, "Wear activity received message: " + message); // Display message in UI logthis(message); } else { Log.e(TAG, "Unrecognized path: " + path); } } else if (event.getType() == DataEvent.TYPE_DELETED) { Log.v(TAG, "Data deleted : " + event.getDataItem().toString()); } else { Log.e(TAG, "Unknown data event Type = " + event.getType()); } } }
DataMap dataMap = DataMapItem.fromDataItem(dataEvent.getDataItem()).getDataMap(); String newColor = dataMap.getString("new_color", "#000000");
@Override public void onDataChanged(DataEventBuffer dataEventBuffer) { super.onDataChanged(dataEventBuffer); //This method will call while any changes in data map occurs from watch side //This is data map. So, message delivery is guaranteed. for (DataEvent dataEvent : dataEventBuffer) { //Check for only those data who changed if (dataEvent.getType() == DataEvent.TYPE_CHANGED) { DataMap dataMap = DataMapItem.fromDataItem(dataEvent.getDataItem()).getDataMap(); //Check if the data map path matches with the step tracking status path String path = dataEvent.getDataItem().getUri().getPath(); if (path.equals(STEP_TRACKING_STATUS_PATH)) { //Read the values boolean isTracking = dataMap.getBoolean("status"); long timeStamp = dataMap.getLong("status-time"); //send broadcast to update the UI in MainActivity based on the tracking status Intent intent = new Intent(TRACKING_STATUS_ACTION); intent.putExtra("status", isTracking); intent.putExtra("status-time", timeStamp); LocalBroadcastManager.getInstance(this).sendBroadcast(intent); Log.d("Tracking status: ", isTracking + " Time: " + timeStamp); } } } }
@Override public void onResult(DataApi.DataItemResult dataItemResult) { if (dataItemResult.getStatus().isSuccess()) { if (dataItemResult.getDataItem() != null) { DataItem configDataItem = dataItemResult.getDataItem(); DataMapItem dataMapItem = DataMapItem.fromDataItem(configDataItem); DataMap config = dataMapItem.getDataMap(); mCallback.onConfigDataMapFetched(config); } else { mCallback.onConfigDataMapFetched(new DataMap()); } } } }
@Override public void onDataChanged(DataEventBuffer dataEvents) { for (DataEvent event : dataEvents) { if (event.getType() == DataEvent.TYPE_CHANGED) { // Check the data path String path = event.getDataItem().getUri().getPath(); if (WearableApi.SETTINGS.equals(path)) { HashMap<String, String> newSettings = new HashMap<>(); DataMap dataMap = DataMapItem.fromDataItem(event.getDataItem()).getDataMap(); for (String key : dataMap.keySet()) { newSettings.put(key, dataMap.getString(key, null)); PreferencesUtil.putString(this, key, newSettings.get(key)); } WearableApi.sendMessage(mGoogleApiClient, WearableApi.SETTINGS, PreferencesUtil.toString(newSettings), null); sendStatus(mGoogleApiClient); } } } }
@Override public void onResult(DataApi.DataItemResult dataItemResult) { if (dataItemResult.getStatus().isSuccess()) { if (dataItemResult.getDataItem() != null) { DataItem configDataItem = dataItemResult.getDataItem(); DataMapItem dataMapItem = DataMapItem.fromDataItem(configDataItem); DataMap dataMap = dataMapItem.getDataMap(); mCallback.onDataMapFetched(dataMap); } else { mCallback.onDataMapFetched(new DataMap()); } } } }