Java 类com.google.android.gms.wearable.DataItem 实例源码

项目:ubiquitous    文件:MyWatchFace.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    Log.d(LOG_TAG, " in data changed");
    for (DataEvent event : dataEvents) {
        if (event.getType() == DataEvent.TYPE_CHANGED) {
            // DataItem changed
            DataItem item = event.getDataItem();
            if (item.getUri().getPath().compareTo(WEATHER_PATH) == 0) {
                DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
                weather_id = dataMap.getInt(WEATHER_ID);
                high_temp = dataMap.getDouble(HIGH_TEMP);
                low_temp = dataMap.getDouble(LOW_TEMP);
            }
        } else if (event.getType() == DataEvent.TYPE_DELETED) {
            // DataItem deleted
        }
    }
    invalidate();
}
项目:Android-DFU-App    文件:UARTConfigurationsActivity.java   
/**
 * This method read the UART configurations from the DataApi and populates the adapter with them.
 */
private void populateConfigurations() {
    if (mGoogleApiClient.isConnected()) {
        final PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiClient, Uri.parse("wear:" + Constants.UART.CONFIGURATIONS), DataApi.FILTER_PREFIX);
        results.setResultCallback(new ResultCallback<DataItemBuffer>() {
            @Override
            public void onResult(final DataItemBuffer dataItems) {
                final List<UartConfiguration> configurations = new ArrayList<>(dataItems.getCount());
                for (int i = 0; i < dataItems.getCount(); ++i) {
                    final DataItem item = dataItems.get(i);
                    final long id = ContentUris.parseId(item.getUri());
                    final DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
                    final UartConfiguration configuration = new UartConfiguration(dataMap, id);
                    configurations.add(configuration);
                }
                mAdapter.setConfigurations(configurations);
                dataItems.release();
            }
        });
    }
}
项目:Excuser    文件:DataLayerListenerService.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    super.onDataChanged(dataEvents);

    for (DataEvent event : dataEvents) {
        if (event.getType() == DataEvent.TYPE_CHANGED) {
            // DataItem changed
            DataItem item = event.getDataItem();
            if (item.getUri().getPath().compareTo("/SHAKEINTENSITY") == 0) {
                DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();

                Log.e("Data Event", "value->"+dataMap.getString(SHAKE_INTENSITY_KEY));
                LocalStoreUtils.setShakeIntensity(dataMap.getString(SHAKE_INTENSITY_KEY), this);
            }
        }
    }

}
项目:Athletica    文件:WatchFaceService.java   
@Override // DataApi.DataListener
public void onDataChanged(DataEventBuffer dataEvents) {
    Log.d(TAG, "Data changed");
    for (DataEvent dataEvent : dataEvents) {
        if (dataEvent.getType() != DataEvent.TYPE_CHANGED) {
            continue;
        }

        DataItem dataItem = dataEvent.getDataItem();
        if (!dataItem.getUri().getPath().equals(
                ConfigurationHelper.PATH_WITH_FEATURE)) {
            continue;
        }

        DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem);
        DataMap config = dataMapItem.getDataMap();
        Log.d(TAG, "Config DataItem updated:" + config);
        // This can happen from this method more often when phone changes
        updateUiForConfigDataMap(config);
    }
}
项目:ubiquitous    文件:MyWatchFace.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    Log.d(LOG_TAG, " in data changed");
    for (DataEvent event : dataEvents) {
        if (event.getType() == DataEvent.TYPE_CHANGED) {
            // DataItem changed
            DataItem item = event.getDataItem();
            if (item.getUri().getPath().compareTo(WEATHER_PATH) == 0) {
                DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
                weather_id = dataMap.getInt(WEATHER_ID);
                high_temp = dataMap.getDouble(HIGH_TEMP);
                low_temp = dataMap.getDouble(LOW_TEMP);
            }
        } else if (event.getType() == DataEvent.TYPE_DELETED) {
            // DataItem deleted
        }
    }
    invalidate();
}
项目:Go-Ubiquitous    文件:SunshineWatchFace.java   
private void processData(DataItem item) {
    if (START_ACTIVITY_PATH.equals(item.getUri().getPath())) {
        DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();

        if (dataMap.containsKey("max")) {
            mWatchMaxTemp = dataMap.getString("max");
        }

        if (dataMap.containsKey("min")) {
            mWatchMinTemp = dataMap.getString("min");
        }
        if (dataMap.containsKey("id")) {
            int resid=getArtResourceForWeatherCondition(dataMap.getInt("id"));
            mWatchBitmap=  BitmapFactory.decodeResource(getResources(), resid);
            mWatchBitmap=Bitmap.createScaledBitmap(mWatchBitmap, (int) mTextPaint.getTextSize(), (int)mTextPaint.getTextSize(), false);
        }
        mWatchTemp=mWatchMaxTemp+" "+mWatchMinTemp;
    }
}
项目:adrenaline_watch_face    文件:SonicBoomFace.java   
@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(
                WatchFaceUtil.PATH_WITH_FEATURE)) {
            continue;
        }

        DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem);
        DataMap config = dataMapItem.getDataMap();
        Log.d(TAG, "Config DataItem updated:" + config);

        updateUiForConfigDataMap(config);
    }
}
项目:adrenaline_watch_face    文件:WatchFaceCompanionConfigActivity.java   
@Override // DataApi.DataListener
public void onDataChanged(DataEventBuffer dataEvents) {
    Log.d(TAG,"onDataChanged "+dataEvents);
    for (DataEvent dataEvent : dataEvents) {
        if (dataEvent.getType() != DataEvent.TYPE_CHANGED) {
            continue;
        }

        DataItem dataItem = dataEvent.getDataItem();
        if (!dataItem.getUri().getPath().equals(WatchFaceUtil.PATH_WITH_FEATURE)) {
            continue;
        }

        DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem);
        DataMap config = dataMapItem.getDataMap();
        Log.d(TAG, "Config DataItem updated:" + config);

        updateUiForConfigDataMap(config);
    }
}
项目:ScribaNotesApp    文件:UARTConfigurationsActivity.java   
/**
 * This method read the UART configurations from the DataApi and populates the adapter with them.
 */
private void populateConfigurations() {
    if (mGoogleApiClient.isConnected()) {
        final PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiClient, Uri.parse("wear:" + Constants.UART.CONFIGURATIONS), DataApi.FILTER_PREFIX);
        results.setResultCallback(new ResultCallback<DataItemBuffer>() {
            @Override
            public void onResult(final DataItemBuffer dataItems) {
                final List<UartConfiguration> configurations = new ArrayList<>(dataItems.getCount());
                for (int i = 0; i < dataItems.getCount(); ++i) {
                    final DataItem item = dataItems.get(i);
                    final long id = ContentUris.parseId(item.getUri());
                    final DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
                    final UartConfiguration configuration = new UartConfiguration(dataMap, id);
                    configurations.add(configuration);
                }
                mAdapter.setConfigurations(configurations);
                dataItems.release();
            }
        });
    }
}
项目:go-ubiquitous    文件:SunshineWatchFace.java   
@Override
public void onDataChanged(DataEventBuffer dataEventBuffer) {
    Log.d(LOG_TAG, "Weather data has been changed!");
    for (DataEvent event : dataEventBuffer) {
        DataItem item = event.getDataItem();
        if (WEATHER_DATA_PATH.equals(item.getUri().getPath())) {
            DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
            double high = dataMap.getDouble(WEATHER_DATA_HIGH);
            double low = dataMap.getDouble(WEATHER_DATA_LOW);
            long id = dataMap.getLong(WEATHER_DATA_ID);

            mWeather = (int) Math.round(high) + "/" +  (int) Math.round(low);
            mWeatherId = (int) id;

            loadIconForWeatherId();

            SharedPreferences preferences = getSharedPreferences(PREFERENCES, MODE_PRIVATE);
            SharedPreferences.Editor editor = preferences.edit();
            editor.putString(KEY_WEATHER, mWeather);
            editor.putInt(KEY_WEATHER_ID, mWeatherId);
            editor.apply();
        }
    }
}
项目:UdacityProject6    文件:WatchFaceService.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    Log.d(LOG_TAG, "onDataChanged" );
    for (DataEvent dataEvent : dataEvents) {
        if (DataEvent.TYPE_CHANGED == dataEvent.getType()) {
            DataItem dataItem = dataEvent.getDataItem();
            DataMap dataMap = DataMapItem.fromDataItem(dataItem).getDataMap();

            String path = dataEvent.getDataItem().getUri().getPath();
            if (path.equals(WEATHER_PATH)) {
                Log.d(LOG_TAG, "/weather id=" + dataMap.getString(KEY_UUID));
                SunshineSyncAdapter.syncImmediately(this);
            }
        }
    }
}
项目:SensorLib    文件:SmartWatchListener.java   
/**
 * Called whenever a new message sent by the Wearable.
 *
 * @param dataEvents buffer with transmitted data
 */
@Override
public void onDataChanged(DataEventBuffer dataEvents) {

    Log.i(TAG, "onDataChanged()");

    for (DataEvent dataEvent : dataEvents) {
        if (dataEvent.getType() == DataEvent.TYPE_CHANGED) {
            DataItem dataItem = dataEvent.getDataItem();
            Uri uri = dataItem.getUri();
            String path = uri.getPath();

            if (path.startsWith("/sensors/")) {
                if (SmartWatch.getInstance() != null) {
                    SmartWatch.getInstance().unpackSensorData(DataMapItem.fromDataItem(dataItem).getDataMap());
                }
            }
        }
    }
}
项目:stayawhile-android    文件:MainActivity.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    Log.i("DEV", "Wear: MainActivity.onDataChangeListener");
    for (DataEvent event : dataEvents) {
        if (event.getType() == DataEvent.TYPE_CHANGED) {
            // DataItem changed
            DataItem item = event.getDataItem();
            if (item.getUri().getPath().compareTo("/stayawhile/queue") == 0) {
                DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
                queueUpdated(dataMap.getString(QUEUE_KEY));
            }
        } else if (event.getType() == DataEvent.TYPE_DELETED) {
            // DataItem deleted
        }
    }
}
项目:Wristglider    文件:MainWearActivity.java   
private void deleteSingleIgcFile(DataItem item) {
    item.freeze();
    DataMapItem dataMapItem = DataMapItem.fromDataItem(item);
    String filename = dataMapItem.getDataMap().getString(Statics.DATADELETE);
    File dir = getFilesDir();
    File[] subFiles = dir.listFiles();
    if (subFiles != null) {
        for (File file : subFiles) {
            if (filename.contains(Statics.getUTCdateReverse())) return;
            if (file.getName().equals(filename)) {
                if (file.delete()) {
                    if (debugMode) Log.d(TAG, "File " + filename + " is deleted.");
                    Wearable.DataApi.deleteDataItems(mGoogleApiClient, item.getUri());
                } else {
                    if (debugMode) Log.d(TAG, "File " + filename + " delete error.");
                }
            }
        }
    }
}
项目:Wristglider    文件:MainActivity.java   
private void getExceptionFromWear(DataItem dataItem) {
    if (debugMode) Log.d(TAG, "Exception from wear!!!");
    dataItem.freeze();
    DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem);
    ByteArrayInputStream bis = new ByteArrayInputStream(dataMapItem.getDataMap().getByteArray("exception"));
    Wearable.DataApi.deleteDataItems(mGoogleApiClient, dataItem.getUri());
    try {

        ObjectInputStream ois = new ObjectInputStream(bis);
        Throwable ex = (Throwable) ois.readObject();
        FirebaseCrash.log("board: " + dataMapItem.getDataMap().getString("board"));
        FirebaseCrash.log("fingerprint: " + dataMapItem.getDataMap().getString("fingerprint"));
        FirebaseCrash.log("model: " + dataMapItem.getDataMap().getString("model"));
        FirebaseCrash.log("manufacturer: " + dataMapItem.getDataMap().getString("manufacturer"));
        FirebaseCrash.log("product: " + dataMapItem.getDataMap().getString("product"));
        FirebaseCrash.report(ex);
    } catch (IOException | ClassNotFoundException e) {
        FirebaseCrash.report(e);
        if (debugMode) Log.e(TAG, Log.getStackTraceString(e));
    }
}
项目:Wristglider    文件:MainActivity.java   
private void getAllAvailableDataItems() {
    PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiClient);
    results.setResultCallback(new ResultCallback<DataItemBuffer>() {
        @Override
        public void onResult(@NonNull DataItemBuffer dataItems) {
            if (dataItems.getCount() != 0) {
                for (DataItem item : dataItems) {
                    if (item.getUri().getPath().contains(Statics.DATAIGC)) {
                        getStringFromAsset(item);
                    }
                    if (item.getUri().getPath().contains(Statics.DATATHROWABLE)) {
                        getExceptionFromWear(item);
                    }
                    if (item.getUri().getPath().contains(Statics.DATABTFAILED)) {
                        getBTFailed(item);
                    }
                }
            }
            dataItems.release();
        }
    });
}
项目:Wristglider    文件:MainActivity.java   
private void getBTFailed(DataItem dataItem) {
    dataItem.freeze();
    final Uri dataItemUri = dataItem.getUri();
    DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem);
    final int reason = dataMapItem.getDataMap().getInt("reason");
    if (debugMode) Log.d(TAG, "BT failed on wear, reason: " + reason);
    switch (reason) {
        case Statics.MY_BT_FAILED_NO_BT:
            Toast.makeText(getApplicationContext(), R.string.bt_failed_no_bt, Toast.LENGTH_LONG).show();
            break;
        case Statics.MY_BT_FAILED_NO_DEVICE:
            Toast.makeText(getApplicationContext(), R.string.bt_failed_no_device, Toast.LENGTH_LONG).show();
            break;
        case Statics.MY_BT_FAILED_USER:
            Toast.makeText(getApplicationContext(), R.string.bt_failed_user, Toast.LENGTH_LONG).show();
            break;
    }
    Wearable.DataApi.deleteDataItems(mGoogleApiClient, dataItemUri);
    prefs.edit().putBoolean(Statics.PREFUSEBTVARIO, false).apply();
    checkBoxBT.setChecked(false);
}
项目:SunshineApp    文件:WatchFace.java   
@Override
public void onDataChanged(DataEventBuffer dataEventBuffer) {
    for (DataEvent dataEvent : dataEventBuffer) {
        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();
        Log.d("WatchFace", "Config DataItem updated:" + config);
        updateUiForConfigDataMap(config);
    }
}
项目:DronesWear    文件:MainActivity.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    for (DataEvent event : dataEvents) {
        if (event.getType() == DataEvent.TYPE_CHANGED) {
            DataItem dataItem = event.getDataItem();
            switch (Message.getMessageType(dataItem)) {
                case ACTION_TYPE:
                    int productAction = Message.decodeActionTypeMessage(dataItem);
                    onActionTypeChanged(productAction);
                    break;
                case INTERACTION_TYPE:
                    int interactionType = Message.decodeInteractionTypeMessage(dataItem);
                    onInteractionTypeChanged(interactionType);
                    break;
            }

        }
    }
}
项目:DronesWear    文件:MainActivity.java   
@Override
public void onConnected(Bundle bundle) {
    Wearable.DataApi.addListener(mGoogleApiClient, this);

    // get existing data
    PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiClient);
    results.setResultCallback(new ResultCallback<DataItemBuffer>() {
        @Override
        public void onResult(@NonNull DataItemBuffer dataItems) {
            for (DataItem dataItem : dataItems) {
                switch (Message.getMessageType(dataItem)) {
                    case ACTION_TYPE:
                        int productAction = Message.decodeActionTypeMessage(dataItem);
                        onActionTypeChanged(productAction);
                        break;
                    case INTERACTION_TYPE:
                        int interactionType = Message.decodeInteractionTypeMessage(dataItem);
                        onInteractionTypeChanged(interactionType);
                        break;
                }
            }
            dataItems.release();
        }
    });
}
项目:DronesWear    文件:Message.java   
public static MESSAGE_TYPE getMessageType(DataItem dataItem){
    MESSAGE_TYPE messageType = MESSAGE_TYPE.UNKNOWN;
    if (dataItem != null)
    {
        String path = dataItem.getUri().getPath();
        if (ACC_PATH.equalsIgnoreCase(path)) {
            messageType = MESSAGE_TYPE.ACC;
        }
        else if (JOYSTICK_PATH.equalsIgnoreCase(path)) {
            messageType = MESSAGE_TYPE.JOYSTICK;
        }
        else if (INTERACTION_TYPE_PATH.equalsIgnoreCase(path)) {
            messageType = MESSAGE_TYPE.INTERACTION_TYPE;
        }
        else if (ACTION_TYPE_PATH.equalsIgnoreCase(path)) {
            messageType = MESSAGE_TYPE.ACTION_TYPE;
        }
        else if (ACTION_PATH.equalsIgnoreCase(path)) {
            messageType = MESSAGE_TYPE.ACTION;
        }

    }
    return messageType;
}
项目:wearabird    文件:SensorReceiverService.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    for (DataEvent dataEvent : dataEvents) {
        if (dataEvent.getType() == DataEvent.TYPE_CHANGED) {
            DataItem dataItem = dataEvent.getDataItem();
            Uri uri = dataItem.getUri();
            String path = uri.getPath();

            if (path.startsWith("/sensors/")) {
                unpackSensorData(
                        Integer.parseInt(uri.getLastPathSegment()),
                        DataMapItem.fromDataItem(dataItem).getDataMap()
                );
            }
        }
    }
}
项目:Sunshine-Android-Wear    文件:DigitalWatchFace.java   
@Override
public void onDataChanged(DataEventBuffer dataEventBuffer) {
    Log.i("WATCH", "onDataChanged");
    for (DataEvent event : dataEventBuffer) {
        if (event.getType() == DataEvent.TYPE_CHANGED) {
            // DataItem changed
            DataItem item = event.getDataItem();
            if (item.getUri().getPath().compareTo(DATA_PATH) == 0) {
                DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();

                extractWeatherData(dataMap);
            }
        } else if (event.getType() == DataEvent.TYPE_DELETED) {
            // DataItem deleted
        }
    }
}
项目:Sunshine.Wear    文件:SunshineWatchFace.java   
@Override
public void onDataChanged(DataEventBuffer dataEventBuffer) {
    Log.d(TAG, "onDataChanged");
    for (DataEvent event : dataEventBuffer) {
        if (event.getType() == DataEvent.TYPE_CHANGED) {
            // DataItem changed
            DataItem item = event.getDataItem();
            String path = item.getUri().getPath();
            Log.d(TAG, "path: " + path);

            if (path.equals(REQ_PATH)) {
                DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();

                mWeatherId = dataMap.getInt(KEY_WEATHER_ID);
                mMaxTemperature = dataMap.getDouble(KEY_TEMP_MAX);
                mMinTemperature = dataMap.getDouble(KEY_TEMP_MIN);
                mLocation = dataMap.getString(KEY_LOCATION);

                invalidate();
            }
        }
    }

    dataEventBuffer.release();
}
项目:FMTech    文件:WearInstaller.java   
ActiveRequest(DataItem paramDataItem)
{
  this.uri = paramDataItem.getUri();
  List localList = this.uri.getPathSegments();
  if ((localList != null) && (localList.size() >= 3)) {
    this.packageName = ((String)localList.get(1));
  }
  for (this.requestId = ((String)localList.get(2));; this.requestId = null)
  {
    DataMap localDataMap = DataMap.fromByteArray(paramDataItem.getData());
    this.assetId = localDataMap.getString("assetIdentifier");
    this.destinationNodes = localDataMap.getStringArray("nodeIds");
    if ((this.destinationNodes == null) || (this.destinationNodes.length != 1)) {
      break;
    }
    this.nodeId = this.destinationNodes[0];
    return;
    this.packageName = null;
  }
  this.nodeId = null;
}
项目:american_sunsets_watch_face    文件:SunsetsWatchFace.java   
@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);
    }
}
项目:american_sunsets_watch_face    文件:WatchFaceCompanionConfigActivity.java   
@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);
    }
}
项目:easy-a    文件:WearableTaskListAdapter.java   
/**
 * Update the views in the ViewHolder using the information in the
 * item in position i.
 */
@Override
public void onBindViewHolder(
    WearableListView.ViewHolder viewHolder, int i) {

    // Find the DataItem for the item in position i.
    DataItem dataItem = dataItems.get(i);

    // Reconstruct the original DataMap for that item
    DataMap map
        = DataMapItem.fromDataItem(dataItem).getDataMap();

    // Set the title view text based on the COLUMN_TITLE in the
    // DataMap
    ((ViewHolder) viewHolder).titleView.setText(
        map.getString(COLUMN_TITLE)
    );
}
项目:african_sunsets_watch_face    文件:SunsetsWatchFace.java   
@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);
    }
}
项目:african_sunsets_watch_face    文件:WatchFaceCompanionConfigActivity.java   
@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);
    }
}
项目:Bluemix-IoT-android-wear    文件:MessageReceiverService.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    super.onDataChanged(dataEvents);

    for (DataEvent dataEvent : dataEvents) {
        if (dataEvent.getType() == DataEvent.TYPE_CHANGED) {
            DataItem dataItem = dataEvent.getDataItem();
            Uri uri = dataItem.getUri();
            String path = uri.getPath();

            if (path.startsWith("/filter")) {
                DataMap dataMap = DataMapItem.fromDataItem(dataItem).getDataMap();
                int filterById = dataMap.getInt(DataMapKeys.FILTER);
                deviceClient.setSensorFilter(filterById);
            }
        }
    }
}
项目:Bluemix-IoT-android-wear    文件:SensorReceiverService.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    Log.d(TAG, "onDataChanged()");

    for (DataEvent dataEvent : dataEvents) {
        if (dataEvent.getType() == DataEvent.TYPE_CHANGED) {
            DataItem dataItem = dataEvent.getDataItem();
            Uri uri = dataItem.getUri();
            String path = uri.getPath();

            if (path.startsWith("/sensors/")) {
                unpackSensorData(
                        Integer.parseInt(uri.getLastPathSegment()),
                        DataMapItem.fromDataItem(dataItem).getDataMap()
                );
            }
        }
    }
}
项目:PowerSwitch_Android    文件:DataApiHandler.java   
/**
 * Retrieve wear settings from Wear cloud storage
 */
public void updateSettings(Context context) {
    if (!googleApiClient.isConnected()) {
        if (!blockingConnect()) {
            return;
        }
    }

    ArrayList<DataMap> data;
    DataItemBuffer dataItemBuffer = Wearable.DataApi.getDataItems(googleApiClient).await();

    if (dataItemBuffer.getStatus().isSuccess()) {
        for (DataItem dataItem : dataItemBuffer) {
            DataMapItem dataMapItem = DataMapItem.fromDataItem(dataItem);
            data = dataMapItem.getDataMap().getDataMapArrayList(WearableConstants.EXTRA_SETTINGS);
            if (data != null) {
                ListenerService.extractSettings(data);
                break;
            }
        }
    }
    dataItemBuffer.release();
}
项目:mage-chronostouch-android    文件:DataManager.java   
public void fetchDataFromService(final DataItem item) {
    if (watchPaths.contains(item.getUri().getPath())) {
        DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
        Map<String, Object> itemsMap = new HashMap<>();

        for (String key : dataMap.keySet()) {
            if (watchKeys.contains(key)) {
                itemsMap.put(key, dataMap.get(key));
            }
        }

        fetchData.put(item.getUri().getPath(), itemsMap);
        Intent updatedIntent = new Intent(item.getUri().getPath());
        LocalBroadcastManager.getInstance(mContext).sendBroadcast(updatedIntent);
    }
}
项目:Android-nRF-Toolbox    文件:UARTCommandsActivity.java   
@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));
        }
    }
}
项目:Android-nRF-Toolbox    文件:UARTConfigurationsActivity.java   
/**
 * This method read the UART configurations from the DataApi and populates the adapter with them.
 */
private void populateConfigurations() {
    if (mGoogleApiClient.isConnected()) {
        final PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiClient, Uri.parse("wear:" + Constants.UART.CONFIGURATIONS), DataApi.FILTER_PREFIX);
        results.setResultCallback(dataItems -> {
            final List<UartConfiguration> configurations = new ArrayList<>(dataItems.getCount());
            for (int i = 0; i < dataItems.getCount(); ++i) {
                final DataItem item = dataItems.get(i);
                final long id = ContentUris.parseId(item.getUri());
                final DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
                final UartConfiguration configuration = new UartConfiguration(dataMap, id);
                configurations.add(configuration);
            }
            mAdapter.setConfigurations(configurations);
            dataItems.release();
        });
    }
}
项目:saarang-iosched    文件:HomeListenerService.java   
/**
 * Builds notification for wear based on the data in the Data Item that is passed in.
 */
private void setupNotification(DataItem dataItem) {
    LOGD(TAG, "setupNotification(): DataItem=" + dataItem.getUri());
    PutDataMapRequest putDataMapRequest = PutDataMapRequest
            .createFromDataMapItem(DataMapItem.fromDataItem(dataItem));
    final DataMap dataMap = putDataMapRequest.getDataMap();
    String sessionId = dataMap.getString(KEY_SESSION_ID);
    String sessionRoom = dataMap.getString(KEY_SESSION_ROOM);
    String sessionName = dataMap.getString(KEY_SESSION_NAME);
    String speakers = dataMap.getString(KEY_SPEAKER_NAME);

    int notificationId = (int) new Date().getTime();
    Intent intent = new Intent(ACTION_DISMISS);
    intent.putExtra(KEY_SESSION_ID, dataMap.getString(KEY_SESSION_ID));

    // need to be notified if user dismisses teh notification so we can dismiss the
    // corresponding notification on teh paired handset.
    PendingIntent deleteIntent = PendingIntent
            .getService(this, notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT);

    PendingIntent showCardIntent = showCardIntent(sessionId, sessionRoom, sessionName,
            speakers, notificationId);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_launcher)
            .setContentTitle(getString(R.string.rate_this_session))
            .setDeleteIntent(deleteIntent)
            .setContentText(sessionName)
            .extend(new NotificationCompat.WearableExtender()
                    .setDisplayIntent(showCardIntent));

    NotificationManagerCompat.from(this)
            .notify(sessionId, NOTIFICATION_ID, builder.build());
}
项目:SunshineWatchFace    文件:SunshineWatchFace.java   
@Override
public void onDataChanged(DataEventBuffer dataEventBuffer) {
    Log.d(TAG, "onDataChanged: " + dataEventBuffer);

    for (DataEvent event : dataEventBuffer) {
        if (event.getType() == DataEvent.TYPE_CHANGED) {
            // DataItem changed

        } else if (event.getType() == DataEvent.TYPE_DELETED) {
            // DataItem deleted
        }

        DataItem item = event.getDataItem();
        if (item.getUri().getPath().compareTo("/forecast") == 0) {
            DataMap dataMap = DataMapItem.fromDataItem(item).getDataMap();
            updateUiforDataMap(dataMap);
        }
    }
}
项目:AppDevFestSudeste2015    文件:HomeListenerService.java   
/**
 * Builds notification for wear based on the data in the Data Item that is passed in.
 */
private void setupNotification(DataItem dataItem) {
    LOGD(TAG, "setupNotification(): DataItem=" + dataItem.getUri());
    PutDataMapRequest putDataMapRequest = PutDataMapRequest
            .createFromDataMapItem(DataMapItem.fromDataItem(dataItem));
    final DataMap dataMap = putDataMapRequest.getDataMap();
    String sessionId = dataMap.getString(KEY_SESSION_ID);
    String sessionRoom = dataMap.getString(KEY_SESSION_ROOM);
    String sessionName = dataMap.getString(KEY_SESSION_NAME);
    String speakers = dataMap.getString(KEY_SPEAKER_NAME);

    int notificationId = (int) new Date().getTime();
    Intent intent = new Intent(ACTION_DISMISS);
    intent.putExtra(KEY_SESSION_ID, dataMap.getString(KEY_SESSION_ID));

    // need to be notified if user dismisses teh notification so we can dismiss the
    // corresponding notification on teh paired handset.
    PendingIntent deleteIntent = PendingIntent
            .getService(this, notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT);

    PendingIntent showCardIntent = showCardIntent(sessionId, sessionRoom, sessionName,
            speakers, notificationId);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_launcher)
            .setContentTitle(getString(R.string.rate_this_session))
            .setDeleteIntent(deleteIntent)
            .setContentText(sessionName)
            .extend(new NotificationCompat.WearableExtender()
                    .setDisplayIntent(showCardIntent));

    NotificationManagerCompat.from(this)
            .notify(sessionId, NOTIFICATION_ID, builder.build());
}
项目:Ytwearface    文件:WearDataListenerService.java   
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
    for (DataEvent event : dataEvents) {
        DataItem dataItem = event.getDataItem();
        final String path = dataItem.getUri().getPath();
        DataMap dataMap = DataMapItem.fromDataItem(dataItem).getDataMap();

        if (QUERY_YTLOGSTATUS_RESULT_PATH.equals(path)) {
            String res = dataMap.getString(PARAM_1);

            Intent intent = new Intent(MyWatchFaceService.ACTION_UPDATE);
            intent.putExtra(MyWatchFaceService.INTENTPARAM_PARAM1, res);
            sendBroadcast(intent);
        }
    }
}