Lines Matching refs:uri

209         public Cursor query(String callingPkg, Uri uri, @Nullable String[] projection,
211 validateIncomingUri(uri);
212 uri = maybeGetUriWithoutUserId(uri);
213 if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
229 uri, projection, queryArgs,
241 uri, projection, queryArgs,
249 public String getType(Uri uri) {
250 validateIncomingUri(uri);
251 uri = maybeGetUriWithoutUserId(uri);
252 return ContentProvider.this.getType(uri);
256 public Uri insert(String callingPkg, Uri uri, ContentValues initialValues) {
257 validateIncomingUri(uri);
258 int userId = getUserIdFromUri(uri);
259 uri = maybeGetUriWithoutUserId(uri);
260 if (enforceWritePermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
261 return rejectInsert(uri, initialValues);
265 return maybeAddUserId(ContentProvider.this.insert(uri, initialValues), userId);
272 public int bulkInsert(String callingPkg, Uri uri, ContentValues[] initialValues) {
273 validateIncomingUri(uri);
274 uri = maybeGetUriWithoutUserId(uri);
275 if (enforceWritePermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
280 return ContentProvider.this.bulkInsert(uri, initialValues);
294 Uri uri = operation.getUri();
295 validateIncomingUri(uri);
296 userIds[i] = getUserIdFromUri(uri);
298 // Removing the user id from the uri.
303 if (enforceReadPermission(callingPkg, uri, null)
309 if (enforceWritePermission(callingPkg, uri, null)
321 // Adding the userId to the uri.
333 public int delete(String callingPkg, Uri uri, String selection, String[] selectionArgs) {
334 validateIncomingUri(uri);
335 uri = maybeGetUriWithoutUserId(uri);
336 if (enforceWritePermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
341 return ContentProvider.this.delete(uri, selection, selectionArgs);
348 public int update(String callingPkg, Uri uri, ContentValues values, String selection,
350 validateIncomingUri(uri);
351 uri = maybeGetUriWithoutUserId(uri);
352 if (enforceWritePermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
357 return ContentProvider.this.update(uri, values, selection, selectionArgs);
365 String callingPkg, Uri uri, String mode, ICancellationSignal cancellationSignal,
367 validateIncomingUri(uri);
368 uri = maybeGetUriWithoutUserId(uri);
369 enforceFilePermission(callingPkg, uri, mode, callerToken);
373 uri, mode, CancellationSignal.fromTransport(cancellationSignal));
381 String callingPkg, Uri uri, String mode, ICancellationSignal cancellationSignal)
383 validateIncomingUri(uri);
384 uri = maybeGetUriWithoutUserId(uri);
385 enforceFilePermission(callingPkg, uri, mode, null);
389 uri, mode, CancellationSignal.fromTransport(cancellationSignal));
408 public String[] getStreamTypes(Uri uri, String mimeTypeFilter) {
409 validateIncomingUri(uri);
410 uri = maybeGetUriWithoutUserId(uri);
411 return ContentProvider.this.getStreamTypes(uri, mimeTypeFilter);
415 public AssetFileDescriptor openTypedAssetFile(String callingPkg, Uri uri, String mimeType,
418 validateIncomingUri(uri);
419 uri = maybeGetUriWithoutUserId(uri);
420 enforceFilePermission(callingPkg, uri, "r", null);
424 uri, mimeType, opts, CancellationSignal.fromTransport(cancellationSignal));
436 public Uri canonicalize(String callingPkg, Uri uri) {
437 validateIncomingUri(uri);
438 int userId = getUserIdFromUri(uri);
439 uri = getUriWithoutUserId(uri);
440 if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
445 return maybeAddUserId(ContentProvider.this.canonicalize(uri), userId);
452 public Uri uncanonicalize(String callingPkg, Uri uri) {
453 validateIncomingUri(uri);
454 int userId = getUserIdFromUri(uri);
455 uri = getUriWithoutUserId(uri);
456 if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
461 return maybeAddUserId(ContentProvider.this.uncanonicalize(uri), userId);
468 public boolean refresh(String callingPkg, Uri uri, Bundle args,
470 validateIncomingUri(uri);
471 uri = getUriWithoutUserId(uri);
472 if (enforceReadPermission(callingPkg, uri, null) != AppOpsManager.MODE_ALLOWED) {
477 return ContentProvider.this.refresh(uri, args,
484 private void enforceFilePermission(String callingPkg, Uri uri, String mode,
487 if (enforceWritePermission(callingPkg, uri, callerToken)
492 if (enforceReadPermission(callingPkg, uri, callerToken)
499 private int enforceReadPermission(String callingPkg, Uri uri, IBinder callerToken)
501 final int mode = enforceReadPermissionInner(uri, callingPkg, callerToken);
513 private int enforceWritePermission(String callingPkg, Uri uri, IBinder callerToken)
515 final int mode = enforceWritePermissionInner(uri, callingPkg, callerToken);
555 protected int enforceReadPermissionInner(Uri uri, String callingPkg, IBinder callerToken)
585 final String path = uri.getPath();
608 // last chance, check against any uri grants
611 ? maybeAddUserId(uri, callingUserId) : uri;
632 + ContentProvider.this.getClass().getName() + " uri " + uri + " from pid=" + pid
637 protected int enforceWritePermissionInner(Uri uri, String callingPkg, IBinder callerToken)
667 final String path = uri.getPath();
690 // last chance, check against any uri grants
691 if (context.checkUriPermission(uri, pid, uid, Intent.FLAG_GRANT_WRITE_URI_PERMISSION,
706 + ContentProvider.this.getClass().getName() + " uri " + uri + " from pid=" + pid
951 if((URI_MATCHER.match(uri)) == SPECIFIC_MESSAGE){
952 qBuilder.appendWhere("_id=" + uri.getPathLeafId());
963 c.setNotificationUri(getContext().getContentResolver(), uri);
966 * @param uri The URI to query. This will be the full URI sent by the client;
981 public abstract @Nullable Cursor query(@NonNull Uri uri, @Nullable String[] projection,
1014 if((URI_MATCHER.match(uri)) == SPECIFIC_MESSAGE){
1015 qBuilder.appendWhere("_id=" + uri.getPathLeafId());
1026 c.setNotificationUri(getContext().getContentResolver(), uri);
1034 * @param uri The URI to query. This will be the full URI sent by the client;
1052 public @Nullable Cursor query(@NonNull Uri uri, @Nullable String[] projection,
1055 return query(uri, projection, selection, selectionArgs, sortOrder);
1120 cursor.setNotificationUri(getContext().getContentResolver(), uri);
1127 * @param uri The URI to query. This will be the full URI sent by the client.
1136 public @Nullable Cursor query(@NonNull Uri uri, @Nullable String[] projection,
1148 uri,
1171 * @param uri the URI to query.
1174 public abstract @Nullable String getType(@NonNull Uri uri);
1229 * Implement this to support refresh of content identified by {@code uri}. By default, this
1233 * This allows clients to request an explicit refresh of content identified by {@code uri}.
1241 * @param uri The Uri identifying the data to refresh.
1245 * none. For example, if you called refresh on a particular uri, you should call
1250 public boolean refresh(Uri uri, @Nullable Bundle args,
1263 public Uri rejectInsert(Uri uri, ContentValues values) {
1269 return uri.buildUpon().appendPath("0").build();
1279 * @param uri The content:// URI of the insertion request. This must not be {@code null}.
1284 public abstract @Nullable Uri insert(@NonNull Uri uri, @Nullable ContentValues values);
1296 * @param uri The content:// URI of the insertion request.
1301 public int bulkInsert(@NonNull Uri uri, @NonNull ContentValues[] values) {
1304 insert(uri, values[i]);
1324 * @param uri The full URI to query, including a row ID (if a specific record is requested).
1329 public abstract int delete(@NonNull Uri uri, @Nullable String selection,
1342 * @param uri The URI to query. This can potentially have a record ID if this
1349 public abstract int update(@NonNull Uri uri, @Nullable ContentValues values,
1397 * @param uri The URI whose file is to be opened.
1415 public @Nullable ParcelFileDescriptor openFile(@NonNull Uri uri, @NonNull String mode)
1418 + uri);
1460 * @param uri The URI whose file is to be opened.
1485 public @Nullable ParcelFileDescriptor openFile(@NonNull Uri uri, @NonNull String mode,
1487 return openFile(uri, mode);
1522 * @param uri The URI whose file is to be opened.
1541 public @Nullable AssetFileDescriptor openAssetFile(@NonNull Uri uri, @NonNull String mode)
1543 ParcelFileDescriptor fd = openFile(uri, mode);
1579 * @param uri The URI whose file is to be opened.
1604 public @Nullable AssetFileDescriptor openAssetFile(@NonNull Uri uri, @NonNull String mode,
1606 return openAssetFile(uri, mode);
1613 * @param uri The URI to be opened.
1623 protected final @NonNull ParcelFileDescriptor openFileHelper(@NonNull Uri uri,
1625 Cursor c = query(uri, new String[]{"_data"}, null, null, null);
1634 throw new FileNotFoundException("No entry for " + uri);
1636 throw new FileNotFoundException("Multiple items at " + uri);
1659 * @param uri The data in the content provider being queried.
1670 public @Nullable String[] getStreamTypes(@NonNull Uri uri, @NonNull String mimeTypeFilter) {
1697 * @param uri The data in the content provider being queried.
1719 public @Nullable AssetFileDescriptor openTypedAssetFile(@NonNull Uri uri,
1723 return openAssetFile(uri, "r");
1725 String baseType = getType(uri);
1729 return openAssetFile(uri, "r");
1731 throw new FileNotFoundException("Can't open " + uri + " as type " + mimeTypeFilter);
1758 * @param uri The data in the content provider being queried.
1786 public @Nullable AssetFileDescriptor openTypedAssetFile(@NonNull Uri uri,
1789 return openTypedAssetFile(uri, mimeTypeFilter, opts);
1805 * @param uri The URI whose data is to be written.
1810 public void writeDataToPipe(@NonNull ParcelFileDescriptor output, @NonNull Uri uri,
1821 * @param uri The URI whose data is to be written.
1831 public @NonNull <T> ParcelFileDescriptor openPipeHelper(final @NonNull Uri uri,
1840 func.writeDataToPipe(fds[1], uri, mimeType, opts, args);
2013 private void validateIncomingUri(Uri uri) throws SecurityException {
2014 String auth = uri.getAuthority();
2019 + mContext.getUserId() + " with a uri belonging to user " + userId);
2023 String message = "The authority of the uri " + uri + " does not match the one of the "
2035 private Uri maybeGetUriWithoutUserId(Uri uri) {
2037 return uri;
2039 return getUriWithoutUserId(uri);
2062 public static int getUserIdFromUri(Uri uri, int defaultUserId) {
2063 if (uri == null) return defaultUserId;
2064 return getUserIdFromAuthority(uri.getAuthority(), defaultUserId);
2068 public static int getUserIdFromUri(Uri uri) {
2069 return getUserIdFromUri(uri, UserHandle.USER_CURRENT);
2085 public static Uri getUriWithoutUserId(Uri uri) {
2086 if (uri == null) return null;
2087 Uri.Builder builder = uri.buildUpon();
2088 builder.authority(getAuthorityWithoutUserId(uri.getAuthority()));
2093 public static boolean uriHasUserId(Uri uri) {
2094 if (uri == null) return false;
2095 return !TextUtils.isEmpty(uri.getUserInfo());
2099 public static Uri maybeAddUserId(Uri uri, int userId) {
2100 if (uri == null) return null;
2102 && ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
2103 if (!uriHasUserId(uri)) {
2105 Uri.Builder builder = uri.buildUpon();
2106 builder.encodedAuthority("" + userId + "@" + uri.getEncodedAuthority());
2110 return uri;