Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Media - Add large and medium image sizes #18997

Merged
merged 10 commits into from
Jul 20, 2022
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions MIGRATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
This file documents changes in the data model. Please explain any changes to the
data model as well as any custom migrations.

## WordPress 145

@geriux 2022-07-08

- `Media`: added `remoteLargeURL` attribute. (optional, no default, `String`)
- `Media`: added `remoteMediumURL` attribute. (optional, no default, `String`)

## WordPress 144

@salimbraksa 2022-07-07
Expand Down
6 changes: 3 additions & 3 deletions Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ def wordpress_ui
end

def wordpress_kit
pod 'WordPressKit', '~> 4.55.0'
# pod 'WordPressKit', '~> 4.55.0'
# pod 'WordPressKit', :git => 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', :tag => ''
# pod 'WordPressKit', :git => 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', :branch => ''
# pod 'WordPressKit', :git => 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', :commit => ''
pod 'WordPressKit', :git => 'https://github.com/wordpress-mobile/WordPressKit-iOS.git', :commit => '9d9efb43c3f502e98cfbe26fdd8ed11e2a04f02e'
Copy link
Contributor

@wpmobilebot wpmobilebot Jul 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 Use the new Ruby 1.9 hash syntax.

# pod 'WordPressKit', :path => '../WordPressKit-iOS'
end

Expand Down Expand Up @@ -170,7 +170,7 @@ abstract_target 'Apps' do
## Gutenberg (React Native)
## =====================
##
gutenberg tag: 'v1.80.0-alpha1'
gutenberg commit: 'bc0954f1fe15f5790cb52acf320afbebbe37938d'

## Third party libraries
## =====================
Expand Down
203 changes: 104 additions & 99 deletions Podfile.lock

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions WordPress/Classes/Models/Media.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ typedef NS_ENUM(NSUInteger, MediaType) {
@property (nonatomic, strong, nullable) NSNumber *remoteStatusNumber;
@property (nonatomic, strong, nullable) NSString *remoteThumbnailURL;
@property (nonatomic, strong, nullable) NSString *remoteURL;
@property (nonatomic, strong, nullable) NSString *remoteLargeURL;
@property (nonatomic, strong, nullable) NSString *remoteMediumURL;
@property (nonatomic, strong, nullable) NSString *shortcode;
@property (nonatomic, strong, nullable) NSString *title;
@property (nonatomic, strong, nullable) NSString *videopressGUID;
Expand Down
2 changes: 2 additions & 0 deletions WordPress/Classes/Models/Media.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ @implementation Media
@dynamic alt;
@dynamic mediaID;
@dynamic remoteURL;
@dynamic remoteLargeURL;
@dynamic remoteMediumURL;
@dynamic localURL;
@dynamic shortcode;
@dynamic width;
Expand Down
6 changes: 6 additions & 0 deletions WordPress/Classes/Services/MediaService+Swift.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ extension MediaService {
if media.remoteURL != remoteMedia.url?.absoluteString {
media.remoteURL = remoteMedia.url?.absoluteString
}
if media.remoteLargeURL != remoteMedia.largeURL?.absoluteString {
media.remoteLargeURL = remoteMedia.largeURL?.absoluteString
}
if media.remoteMediumURL != remoteMedia.mediumURL?.absoluteString {
media.remoteMediumURL = remoteMedia.mediumURL?.absoluteString
}
geriux marked this conversation as resolved.
Show resolved Hide resolved
if remoteMedia.date != nil && remoteMedia.date != media.creationDate {
media.creationDate = remoteMedia.date
}
Expand Down
2 changes: 2 additions & 0 deletions WordPress/Classes/Services/MediaService.m
Original file line number Diff line number Diff line change
Expand Up @@ -830,6 +830,8 @@ - (RemoteMedia *)remoteMediaFromMedia:(Media *)media
RemoteMedia *remoteMedia = [[RemoteMedia alloc] init];
remoteMedia.mediaID = media.mediaID;
remoteMedia.url = [NSURL URLWithString:media.remoteURL];
remoteMedia.largeURL = [NSURL URLWithString:media.remoteLargeURL];
remoteMedia.mediumURL = [NSURL URLWithString:media.remoteMediumURL];
remoteMedia.date = media.creationDate;
remoteMedia.file = media.filename;
remoteMedia.extension = [media fileExtension] ?: @"unknown";
Expand Down
13 changes: 11 additions & 2 deletions WordPress/Classes/Services/PostCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,15 @@ class PostCoordinator: NSObject {
let remoteURLStr = media.remoteURL else {
return
}
guard var imageURL = media.remoteURL else {
geriux marked this conversation as resolved.
Show resolved Hide resolved
return
}

if media.remoteLargeURL != nil {
geriux marked this conversation as resolved.
Show resolved Hide resolved
imageURL = media.remoteLargeURL!
} else if media.remoteMediumURL != nil {
imageURL = media.remoteMediumURL!
}

let mediaLink = media.link
let mediaUploadID = media.uploadID
Expand All @@ -344,10 +353,10 @@ class PostCoordinator: NSObject {
gutenbergProcessors.append(gutenbergFileProcessor)

if media.mediaType == .image {
let gutenbergImgPostUploadProcessor = GutenbergImgUploadProcessor(mediaUploadID: gutenbergMediaUploadID, serverMediaID: mediaID, remoteURLString: remoteURLStr)
let gutenbergImgPostUploadProcessor = GutenbergImgUploadProcessor(mediaUploadID: gutenbergMediaUploadID, serverMediaID: mediaID, remoteURLString: imageURL)
gutenbergProcessors.append(gutenbergImgPostUploadProcessor)

let gutenbergGalleryPostUploadProcessor = GutenbergGalleryUploadProcessor(mediaUploadID: gutenbergMediaUploadID, serverMediaID: mediaID, remoteURLString: remoteURLStr, mediaLink: mediaLink)
let gutenbergGalleryPostUploadProcessor = GutenbergGalleryUploadProcessor(mediaUploadID: gutenbergMediaUploadID, serverMediaID: mediaID, remoteURLString: imageURL, mediaLink: mediaLink)
gutenbergProcessors.append(gutenbergGalleryPostUploadProcessor)

let imgPostUploadProcessor = ImgUploadProcessor(mediaUploadID: mediaUploadID, remoteURLString: remoteURLStr, width: media.width?.intValue, height: media.height?.intValue)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,15 @@ class GutenbergMediaInserterHelper: NSObject {
case .uploading:
break
case .ended:
guard let urlString = media.remoteURL, let url = URL(string: urlString), let mediaServerID = media.mediaID?.int32Value else {
var currentURL = media.remoteURL

if media.remoteLargeURL != nil {
currentURL = media.remoteLargeURL
} else if media.remoteMediumURL != nil {
currentURL = media.remoteMediumURL
}

guard let urlString = currentURL, let url = URL(string: urlString), let mediaServerID = media.mediaID?.int32Value else {
break
}
switch media.mediaType {
Expand Down
2 changes: 1 addition & 1 deletion WordPress/Classes/WordPress.xcdatamodeld/.xccurrentversion
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
<plist version="1.0">
<dict>
<key>_XCCurrentVersionName</key>
<string>WordPress 144.xcdatamodel</string>
<string>WordPress 145.xcdatamodel</string>
</dict>
</plist>
Loading