@NonNull private static String convertObservedUrisToJsonString(@NonNull List<ObservedUri> uris) { JSONObject contentUris = new JSONObject(); JSONArray jsonFlags = new JSONArray(); JSONArray jsonUris = new JSONArray(); for (ObservedUri uri : uris) { jsonFlags.put(uri.getFlags()); jsonUris.put(uri.getUri()); } try { contentUris.put(JSON_URI_FLAGS, jsonFlags); contentUris.put(JSON_URIS, jsonUris); } catch (JSONException e) { throw new RuntimeException(e); } return contentUris.toString(); }
private static void writeContentUriTriggerToBundle(Bundle data, ContentUriTrigger uriTrigger) { data.putInt(BundleProtocol.PACKED_PARAM_TRIGGER_TYPE, BundleProtocol.TRIGGER_TYPE_CONTENT_URI); int size = uriTrigger.getUris().size(); int[] flagsArray = new int[size]; Uri[] uriArray = new Uri[size]; for (int i = 0; i < size; i++) { ObservedUri uri = uriTrigger.getUris().get(i); flagsArray[i] = uri.getFlags(); uriArray[i] = uri.getUri(); } data.putIntArray(BundleProtocol.PACKED_PARAM_CONTENT_URI_FLAGS_ARRAY, flagsArray); data.putParcelableArray(BundleProtocol.PACKED_PARAM_CONTENT_URI_ARRAY, uriArray); }
private View createViewForJob(JobParameters job) { TableLayout tableLayout = new TableLayout(this); addRow(tableLayout, "TAG = " + job.getTag()); addRow(tableLayout, "SERVICE = " + job.getService()); if (job.getTriggerReason() != null && job.getTrigger() instanceof JobTrigger.ContentUriTrigger) { ContentUriTrigger trigger = (ContentUriTrigger) job.getTrigger(); addRow(tableLayout, "OBSERVED URIs = "); for (ObservedUri uri : trigger.getUris()) { addRow( tableLayout, "URI = " + uri.getUri() + ", flags = " + Integer.toBinaryString(uri.getFlags())); } addRow(tableLayout, "TRIGGERED URIs = "); for (Uri uri : job.getTriggerReason().getTriggeredContentUris()) { addRow(tableLayout, uri.toString()); } } ScrollView scrollView = new ScrollView(this); scrollView.addView(tableLayout); return scrollView; }