@Override public void onDataChanged(DataEventBuffer dataEvents) { LOGD(TAG, "onDataChanged: " + dataEvents); for (DataEvent event : dataEvents) { if (event.getType() == DataEvent.TYPE_CHANGED) { mDataItemListAdapter.add( new Event("DataItem Changed", event.getDataItem().toString())); } else if (event.getType() == DataEvent.TYPE_DELETED) { mDataItemListAdapter.add( new Event("DataItem Deleted", event.getDataItem().toString())); } } }
@Override public void onDataChanged(DataEventBuffer dataEvents) { // Route the changed data event to the correct handler. final List<DataEvent> events = FreezableUtils.freezeIterable(dataEvents); for (DataEvent event : events) { String path = event.getDataItem().getUri().getPath(); for (DataChangedHandler handler : mDataChangedHandlers) { for(String supportedPath : handler.getSupportedPaths()) { // allow handler to define just the first part of the entire URI. if(path.startsWith(supportedPath)) { handler.onDataChanged(path, event, mWearableAPIHelper); break; } } } } }
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) { for (DataEvent dataEvent : dataEvents) { if (dataEvent.getType() == DataEvent.TYPE_DELETED) { if (Constants.BOTH_PATH.equals(dataEvent.getDataItem().getUri().getPath())) { // notification on the phone should be dismissed NotificationManagerCompat.from(this).cancel(Constants.BOTH_ID); } } } }
@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()); } } }
/** * 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()); } } }
@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 onDataChanged(DataEventBuffer dataEvents) { final List<DataEvent> events = FreezableUtils.freezeIterable(dataEvents); for (DataEvent event : events) { Uri uri = event.getDataItem().getUri(); if (Constantes.CAMINHO_DADOS.equals(uri.getPath())) { if (event.getType() == DataEvent.TYPE_CHANGED) { lerNovosDados(event); } else if (event.getType() == DataEvent.TYPE_DELETED) { NotificationManagerCompat.from(this).cancel(Constantes.ID_NOTIFICACAO); } } } } @Override
@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 // 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); } }
/** * Listen for DataItems added/deleted from the geofence service running on the companion. */ @Override public void onDataChanged(DataEventBuffer dataEvents) { if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "onDataChanged: " + dataEvents + " for " + getPackageName()); } for (DataEvent event : dataEvents) { if (event.getType() == DataEvent.TYPE_DELETED) { cancelNotificationForDataItem(event.getDataItem()); } else if (event.getType() == DataEvent.TYPE_CHANGED) { // The user has entered a geofence - post a notification! String geofenceId = DataMap.fromByteArray(event.getDataItem().getData()) .getString(KEY_GEOFENCE_ID); postNotificationForGeofenceId(geofenceId, event.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(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 // 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 public void onDataChanged(DataEventBuffer dataEvents) { for (DataEvent dataEvent : dataEvents) { if (dataEvent.getType() == DataEvent.TYPE_CHANGED) { DataMap dataMap = DataMapItem.fromDataItem(dataEvent.getDataItem()).getDataMap(); String content = dataMap.getString(Constants.KEY_CONTENT); String title = dataMap.getString(Constants.KEY_TITLE); if (Constants.WATCH_ONLY_PATH.equals(dataEvent.getDataItem().getUri().getPath())) { buildWearableOnlyNotification(title, content, false); } else if (Constants.BOTH_PATH.equals(dataEvent.getDataItem().getUri().getPath())) { buildWearableOnlyNotification(title, content, true); } } else if (dataEvent.getType() == DataEvent.TYPE_DELETED) { if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "DataItem deleted: " + dataEvent.getDataItem().getUri().getPath()); } if (Constants.BOTH_PATH.equals(dataEvent.getDataItem().getUri().getPath())) { // Dismiss the corresponding notification ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)) .cancel(Constants.WATCH_ONLY_ID); } } } }
@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); } } } }
if (dataEvent.getType() == DataEvent.TYPE_CHANGED) { String path = dataEvent.getDataItem().getUri().getPath(); if (path.equals("/bg_change")) { 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); } } } }
if (event.getType() == DataEvent.TYPE_DELETED) { Log.i(TAG, event + " deleted"); } else if (event.getType() == DataEvent.TYPE_CHANGED) { Boolean alarmOn = DataMap.fromByteArray(event.getDataItem().getData()).get(FIELD_ALARM_ON); if (alarmOn) { mOrigVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM);
@Override public void onDataChanged(final DataEventBuffer dataEventBuffer) { for (final DataEvent event : dataEventBuffer) { final DataItem item = event.getDataItem(); final long id = ContentUris.parseId(item.getUri()); // Update the configuration only if ID matches if (id != mConfigurationId) continue; // Configuration added or edited if (event.getType() == DataEvent.TYPE_CHANGED) { final DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap(); final UartConfiguration configuration = new UartConfiguration(dataMap, id); // Update UI on UI thread runOnUiThread(() -> mAdapter.setConfiguration(configuration)); } else if (event.getType() == DataEvent.TYPE_DELETED) { // Configuration removed // Update UI on UI thread runOnUiThread(() -> mAdapter.setConfiguration(null)); } } }
@Override public void run() { for (DataEvent event : events) { if (event.getType() == DataEvent.TYPE_CHANGED) { DataMap dataMap = DataMapItem.fromDataItem(event.getDataItem()) .getDataMap(); boolean questionWasAnswered = dataMap.getBoolean(QUESTION_WAS_ANSWERED); boolean questionWasDeleted = dataMap.getBoolean(QUESTION_WAS_DELETED); if (questionWasAnswered) { // Update the answered question's status. int questionIndex = dataMap.getInt(QUESTION_INDEX); boolean questionCorrect = dataMap.getBoolean(CHOSEN_ANSWER_CORRECT); updateQuestionStatus(questionIndex, questionCorrect); askNextQuestionIfExists(); } else if (questionWasDeleted) { // Update the deleted question's status by marking it as left blank. int questionIndex = dataMap.getInt(QUESTION_INDEX); markQuestionLeftBlank(questionIndex); askNextQuestionIfExists(); } } } } });