private Attachment(UUID callId, Bitmap bitmap, Uri uri) { this.callId = callId; this.bitmap = bitmap; this.originalUri = uri; if (uri != null) { String scheme = uri.getScheme(); if ("content".equalsIgnoreCase(scheme)) { isContentUri = true; shouldCreateFile = uri.getAuthority() != null && !uri.getAuthority().startsWith("media"); } else if ("file".equalsIgnoreCase(uri.getScheme())) { shouldCreateFile = true; } else if (!Utility.isWebUri(uri)) { throw new FacebookException("Unsupported scheme for media Uri : " + scheme); } } else if (bitmap != null) { shouldCreateFile = true; } else { throw new FacebookException("Cannot share media without a bitmap or Uri set"); } attachmentName = !shouldCreateFile ? null : UUID.randomUUID().toString(); attachmentUrl = !shouldCreateFile ? this.originalUri.toString() : FacebookContentProvider.getAttachmentUrl( FacebookSdk.getApplicationId(), callId, attachmentName); }
private Attachment(UUID callId, Bitmap bitmap, Uri uri) { this.callId = callId; this.bitmap = bitmap; this.imageUri = uri; if (uri != null) { String scheme = uri.getScheme(); if ("content".equalsIgnoreCase(scheme)) { isContentUri = true; isBinaryData = true; } else if ("file".equalsIgnoreCase(uri.getScheme())) { isBinaryData = true; } else if (!Utility.isWebUri(uri)) { throw new FacebookException("Unsupported scheme for image Uri : " + scheme); } } else if (bitmap != null) { isBinaryData = true; } else { throw new FacebookException("Cannot share a photo without a bitmap or Uri set"); } attachmentName = !isBinaryData ? null : UUID.randomUUID().toString(); attachmentUrl = !isBinaryData ? this.imageUri.toString() // http(s) images can be used directly : FacebookContentProvider.getAttachmentUrl( FacebookSdk.getApplicationId(), callId, attachmentName); }