/** * Deletes the check-in notification when the DataItem is deleted. * @param dataItem Used only for logging in this sample, but could be used to identify which * notification to cancel (in this case, there is at most 1 notification). */ private void cancelNotificationForDataItem(DataItem dataItem) { if (Log.isLoggable(TAG, Log.VERBOSE)) { Log.v(TAG, "onDataItemDeleted:DataItem=" + dataItem.getUri()); } ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)).cancel(NOTIFICATION_ID); }
} 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);
if (result.getStatus().isSuccess()) { if (result.getCount() == 1) { alarmOn = DataMap.fromByteArray(result.get(0).getData()) .getBoolean(FIELD_ALARM_ON, false); } else {
@Override public void onResult(DataItemBuffer result) { try { if (result.getStatus().isSuccess()) { List<Uri> dataItemUriList = new ArrayList<Uri>(); for (final DataItem dataItem : result) { dataItemUriList.add(dataItem.getUri()); } deleteDataItems(dataItemUriList); } else { if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "Clear quiz: failed to get Data Items for " + "deletion"); } } } finally { result.release(); } } });
/** * 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 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 // 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); } }
private void resetDataItems(DataItemBuffer dataItemList) { if (mGoogleApiClient.isConnected()) { for (final DataItem dataItem : dataItemList) { final Uri dataItemUri = dataItem.getUri(); Wearable.DataApi.getDataItem(mGoogleApiClient, dataItemUri) .setResultCallback(new ResetDataItemCallback()); } } else { Log.e(TAG, "Failed to reset data items because client is disconnected from " + "Google Play Services"); } }
@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); } }
@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) { // 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; } } } } }
@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(@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 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; } } } }
/** * 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 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); } } } });
String path = dataEvent.getDataItem().getUri().getPath(); if (path.equals("/bg_change")) {
@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