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

Add support for pexel images #10628

Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
6dc6ac7
Add support to present giphy and pexel picker
marecar3 Oct 18, 2019
32b223c
Update gb-mobile ref
marecar3 Oct 18, 2019
cea0e28
Merge branch 'develop' into gutenberg/pexels-and-giphy-search-not-ava…
marecar3 Oct 18, 2019
7731277
Update gb-mobile ref
marecar3 Oct 18, 2019
7d787c3
Update gb-mobile ref
marecar3 Oct 21, 2019
6f898fa
Update gb-mobile ref
marecar3 Oct 21, 2019
4e6537e
Update gb-mobile ref
marecar3 Oct 21, 2019
a8245cc
Fixed lint errors
marecar3 Oct 21, 2019
c8f2c1a
Update gb-mobile reference
marecar3 Oct 21, 2019
6a13ac0
User only upload callback when file is selected
marecar3 Oct 23, 2019
521f362
Merge branch 'develop' into gutenberg/pexels-and-giphy-search-not-ava…
marecar3 Oct 23, 2019
6f18912
Fix lint error
marecar3 Oct 23, 2019
2eb60b9
Update gb-mobile reference
marecar3 Oct 23, 2019
a05692f
Update gb-mobile reference
marecar3 Oct 23, 2019
142c18f
Merge branch 'develop' into gutenberg/pexels-and-giphy-search-not-ava…
marecar3 Oct 24, 2019
8eb9167
Update gb-mobile reference
marecar3 Oct 24, 2019
8489e52
Update gb-mobile reference
marecar3 Oct 24, 2019
724821f
Suppress Giphy for now
marecar3 Oct 24, 2019
ca71032
Update gb-mobile reference
marecar3 Oct 24, 2019
b87310c
Update gb-mobile reference
marecar3 Oct 25, 2019
ff1f62b
Remove giphy support
marecar3 Oct 25, 2019
f92de7e
Update gb-mobile ref
marecar3 Oct 25, 2019
41abc26
Merge branch 'develop' into gutenberg/pexels-and-giphy-search-not-ava…
marecar3 Oct 28, 2019
2b12d9d
Update gb-mobile ref
marecar3 Oct 28, 2019
f8a97ae
Update gb-mobile reference
marecar3 Oct 28, 2019
8854f02
Merge branch 'develop' into gutenberg/pexels-and-giphy-search-not-ava…
marecar3 Oct 29, 2019
5ac0f2b
Update gb-mobile ref
marecar3 Oct 29, 2019
e1f8474
Update gb-mobile ref
marecar3 Oct 29, 2019
647b6e8
Update gb-mobile reference
marecar3 Oct 29, 2019
bdf9d99
Update gb-mobile reference
marecar3 Oct 29, 2019
59308a7
Update gb-mobile reference
marecar3 Oct 29, 2019
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
Original file line number Diff line number Diff line change
Expand Up @@ -3204,6 +3204,11 @@ public void onAddDeviceMediaClicked(boolean allowMultipleSelection) {
WPMediaUtils.launchMediaLibrary(this, mAllowMultipleSelection);
}

@Override
public void onAddStockMediaClicked(boolean allowMultipleSelection) {
onPhotoPickerIconClicked(PhotoPickerIcon.STOCK_MEDIA, allowMultipleSelection);
}

@Override
public void onCaptureVideoClicked() {
onPhotoPickerIconClicked(PhotoPickerIcon.ANDROID_CAPTURE_VIDEO, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ public interface EditorFragmentListener {
String onAuthHeaderRequested(String url);
void onTrackableEvent(TrackableEvent event);
void onHtmlModeToggledInToolbar();
void onAddStockMediaClicked(boolean allowMultipleSelection);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,14 +124,6 @@ public CharSequence getTitle(OnGetContentTimeout onGetContentTimeout) {
return mWPAndroidGlueCode.getTitle(onGetContentTimeout);
}

public void appendMediaFile(int mediaId, final String mediaUrl, final boolean isVideo) {
mWPAndroidGlueCode.appendMediaFile(mediaId, mediaUrl, isVideo);
}

public void appendMediaFiles(ArrayList<Media> mediaList) {
mWPAndroidGlueCode.appendMediaFiles(mediaList);
}

public void showDevOptionsDialog() {
mWPAndroidGlueCode.showDevOptionsDialog();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.wordpress.android.util.helpers.MediaGallery;
import org.wordpress.aztec.IHistoryListener;
import org.wordpress.mobile.WPAndroidGlue.Media;
import org.wordpress.mobile.WPAndroidGlue.MediaOption;
import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnAuthHeaderRequestedListener;
import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnEditorAutosaveListener;
import org.wordpress.mobile.WPAndroidGlue.WPAndroidGlueCode.OnEditorMountListener;
Expand Down Expand Up @@ -67,6 +68,8 @@ public class GutenbergEditorFragment extends EditorFragmentAbstract implements
private static final int CAPTURE_PHOTO_PERMISSION_REQUEST_CODE = 101;
private static final int CAPTURE_VIDEO_PERMISSION_REQUEST_CODE = 102;

private static final String MEDIA_SOURCE_STOCK_MEDIA = "MEDIA_SOURCE_STOCK_MEDIA";

private boolean mHtmlModeEnabled;

private Handler mInvalidateOptionsHandler;
Expand Down Expand Up @@ -263,17 +266,33 @@ public void onCapturePhotoButtonClicked() {
checkAndRequestCameraAndStoragePermissions(CAPTURE_PHOTO_PERMISSION_REQUEST_CODE);
}

@Override public void onRetryUploadForMediaClicked(int mediaId) {
@Override
public void onRetryUploadForMediaClicked(int mediaId) {
showRetryMediaUploadDialog(mediaId);
}

@Override public void onCancelUploadForMediaClicked(int mediaId) {
@Override
public void onCancelUploadForMediaClicked(int mediaId) {
showCancelMediaUploadDialog(mediaId);
}

@Override public void onCancelUploadForMediaDueToDeletedBlock(int mediaId) {
@Override
public void onCancelUploadForMediaDueToDeletedBlock(int mediaId) {
cancelMediaUploadForDeletedBlock(mediaId);
}

@Override
public ArrayList<MediaOption> onGetOtherMediaImageOptions() {
ArrayList<MediaOption> otherMediaImageOptions = initOtherMediaImageOptions();
return otherMediaImageOptions;
}

@Override
public void onOtherMediaButtonClicked(String mediaSource, boolean allowMultipleSelection) {
if (mediaSource.equals(MEDIA_SOURCE_STOCK_MEDIA)) {
mEditorFragmentListener.onAddStockMediaClicked(allowMultipleSelection);
}
}
},
new OnReattachQueryListener() {
@Override
Expand Down Expand Up @@ -339,6 +358,17 @@ public void run() {
return view;
}

private ArrayList<MediaOption> initOtherMediaImageOptions() {
ArrayList<MediaOption> otherMediaOptions = new ArrayList<>();

String packageName = getActivity().getApplication().getPackageName();
int stockMediaResourceId = getResources().getIdentifier("photo_picker_stock_media", "string", packageName);
Copy link
Contributor

Choose a reason for hiding this comment

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

Something I noticed while product reviewing the PR is that this string can get pretty long in other languages (tested in french) and in that case will be cropped in the selection menu. Not a blocker but we'll probably want to address that in gutenberg (I'm thinking long pressing to make the text scroll for instance).

image


otherMediaOptions.add(new MediaOption(MEDIA_SOURCE_STOCK_MEDIA, getString(stockMediaResourceId)));

return otherMediaOptions;
}

@Override public void onResume() {
super.onResume();

Expand Down Expand Up @@ -685,18 +715,15 @@ public void appendMediaFile(final MediaFile mediaFile, final String mediaUrl, Im
return;
}

if (URLUtil.isNetworkUrl(mediaUrl)) {
getGutenbergContainerFragment().appendMediaFile(
Integer.valueOf(mediaFile.getMediaId()),
mediaUrl,
mediaFile.isVideo());
} else {
getGutenbergContainerFragment().appendUploadMediaFile(
mediaFile.getId(),
"file://" + mediaUrl,
mediaFile.isVideo());
boolean isNetworkUrl = URLUtil.isNetworkUrl(mediaUrl);
if (!isNetworkUrl) {
mUploadingMediaProgressMax.put(String.valueOf(mediaFile.getId()), 0f);
}

getGutenbergContainerFragment().appendUploadMediaFile(
isNetworkUrl ? Integer.valueOf(mediaFile.getMediaId()) : mediaFile.getId(),
isNetworkUrl ? mediaUrl : "file://" + mediaUrl,
mediaFile.isVideo());
}

@Override
Expand All @@ -718,32 +745,26 @@ public void appendMediaFiles(Map<String, MediaFile> mediaList) {
mediaUrl = (String) mediaUrls[0];
}

if (URLUtil.isNetworkUrl(mediaUrl)) {
for (Map.Entry<String, MediaFile> mediaEntry : mediaList.entrySet()) {
rnMediaList.add(
new Media(
Integer.valueOf(mediaEntry.getValue().getMediaId()),
mediaEntry.getKey(),
mediaEntry.getValue().getMimeType()
)
);
}
getGutenbergContainerFragment().appendMediaFiles(rnMediaList);
} else {
for (Map.Entry<String, MediaFile> mediaEntry : mediaList.entrySet()) {
rnMediaList.add(
new Media(
mediaEntry.getValue().getId(),
"file://" + mediaEntry.getKey(),
mediaEntry.getValue().getMimeType()
)
);
}
getGutenbergContainerFragment().appendUploadMediaFiles(rnMediaList);
boolean isNetworkUrl = URLUtil.isNetworkUrl(mediaUrl);
if (!isNetworkUrl) {
for (Media media : rnMediaList) {
mUploadingMediaProgressMax.put(String.valueOf(media.getId()), 0f);
}
}

for (Map.Entry<String, MediaFile> mediaEntry : mediaList.entrySet()) {
rnMediaList.add(
new Media(
isNetworkUrl
? Integer.valueOf(mediaEntry.getValue().getMediaId())
etoledom marked this conversation as resolved.
Show resolved Hide resolved
: mediaEntry.getValue().getId(),
isNetworkUrl ? mediaEntry.getKey() : "file://" + mediaEntry.getKey(),
mediaEntry.getValue().getMimeType()
)
);
}

getGutenbergContainerFragment().appendUploadMediaFiles(rnMediaList);
}

@Override
Expand Down