@Override public void onReceive(Context context, Intent intent) { // Log.v(TAG, "Receiving: " + intent.getAction()); if (intent.getAction().equals(OppProbe.getStatusAction(probeName))) { OppProbe.Status status = new OppProbe.Status(intent.getExtras()); if (probeName.equals(status.getName())) { Log.i(TAG, "Is a status action for " + probeName); long nonce = intent.getLongExtra(OppProbe.ReservedParamaters.NONCE.name, 0L); Log.i(TAG, "Nonce is " + nonce + "'"); if (!sent && nonce != 0L) { sent = true; expirationTimer.cancel(); try { context.unregisterReceiver(DataResponder.this); } catch (IllegalArgumentException e) { // already removed; } final Intent i = new Intent(OppProbe.getGetAction(probeName)); Log.i(TAG, "Sending intent '" + i.getAction() + "'"); i.setPackage(context.getPackageName()); // Send only to this app for right now i.putExtra(OppProbe.ReservedParamaters.PACKAGE.name, context.getPackageName()); if (requestId != null && !"".equals(requestId)) { i.putExtra(OppProbe.ReservedParamaters.REQUEST_ID.name, requestId); } i.putExtra(OppProbe.ReservedParamaters.REQUESTS.name, requests); i.putExtra(OppProbe.ReservedParamaters.NONCE.name, nonce); context.sendBroadcast(i); } } } }
public void requestStatus(boolean includeNonce) { final Intent i = new Intent(OppProbe.getPollAction(probeName)); Log.i(TAG, "Sending intent '" + i.getAction() + "'"); i.setPackage(context.getPackageName()); i.putExtra(OppProbe.ReservedParamaters.PACKAGE.name, context.getPackageName()); i.putExtra(OppProbe.ReservedParamaters.NONCE.name, includeNonce); context.sendBroadcast(i); }
@Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (OppProbe.isDataAction(action)) { String dataJson = bundleSerializer.serialize(intent.getExtras()); String probeName = OppProbe.getProbeName(action); long timestamp = intent.getLongExtra("TIMESTAMP", 0L); Bundle b = new Bundle(); b.putString(NameValueDatabaseService.DATABASE_NAME_KEY, databaseName); b.putLong(NameValueDatabaseService.TIMESTAMP_KEY, timestamp); b.putString(NameValueDatabaseService.NAME_KEY, probeName); b.putString(NameValueDatabaseService.VALUE_KEY, dataJson); Intent i = new Intent(context, databaseServiceClass); i.setAction(DatabaseService.ACTION_RECORD); i.putExtras(b); context.startService(i); } }
public void registerDataRequest(final String requestId, final Bundle... requests) { DataResponder statusReceiver = new DataResponder(requestId, requests); context.registerReceiver(statusReceiver, new IntentFilter(OppProbe.getStatusAction(probeName))); requestStatus(true); }
public static void requestStatusFromAll(Context context) { Intent i = new Intent(OppProbe.getGlobalPollAction()); i.putExtra(OppProbe.ReservedParamaters.PACKAGE.name, context.getPackageName()); context.sendBroadcast(i); }